Здравствуйте, я выполняю двоичное дерево на основе базового массива.
Мой проект состоит из набора файлов C ++ и make-файла для генерации компиляции.
Я использую g ++, поставляемый с DEV-C ++ 4.9.9.2.
При запуске компиляции я получаю следующие два набора ошибок.
AlberoBinariov.h: в функции-члене bool AlberoBinariov<T>::figlioSinistroVuoto(typename Alberoa<T, int>::posizioneNodo)':
)’ до ‘;’ знак
AlberoBinariov.h:198: error: expected
AlberoBinariov.h: 198: ошибка: ожидаемое первичное выражение до маркера ‘)’
AlberoBinariov.h: 198: ошибка: ожидается `; ‘ перед знаком «)»
AlberoBinariov.h: в функции-члене bool AlberoBinariov<T>::figlioDestroVuoto(typename Alberoa<T, int>::posizioneNodo)':
)’ до ‘;’ знак
AlberoBinariov.h:204: error: expected
AlberoBinariov.h: 204: ошибка: ожидается )' before ';' token
;» перед знаком «)»
AlberoBinariov.h:204: error: expected primary-expression before ')' token
AlberoBinariov.h:204: error: expected
Интересующие части кода приведены ниже:
template <class T>
bool AlberoBinariov<T>::figlioSinistroVuoto(posizioneNodo p)
{
return (figlioSinistro(p)==(posizioneNodo)P_NULL); //line 198
}
template <class T>
bool AlberoBinariov<T>::figlioDestroVuoto(posizioneNodo p)
{
return (figlioDestro(p)==((posizioneNodo)P_NULL)); //line 204
}
Также для вашего удобства я включил полный исходный код по ссылке ниже.
Можете ли вы дать мне знать? заранее спасибо за ваше время. Жду ответа от вас.
С уважением,
Джеральд
PS: P_NULL является константой указателя NULL, объявленной в файле Constants.h.
У вас есть 3 отдельные правые скобки без соответствующих левых скобок:
return (figlioDestro(p) == ((posizioneNodo)P_NULL)) /* -> */ )));
Измените это на это:
return (figlioDestro(p) == ( (posizioneNodo)P_NULL ));
Других решений пока нет …