你好,我是基于底层数组的二叉树。
我的项目包含一组c ++文件和用于生成编译的makefile。
我正在使用随DEV-C ++ 4.9.9.2提供的g ++。
启动编译后,我得到以下两组错误。
AlberoBinariov.h:在成员函数bool AlberoBinariov<T>::figlioSinistroVuoto(typename Alberoa<T, int>::posizioneNodo)':
AlberoBinariov.h:198: error: expected
)'之前';'代币
AlberoBinariov.h:198:错误:')'令牌之前的预期primary-expression
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是在Constants.h文件中声明的NULL指针常量。
答案 0 :(得分:4)
你有3个单独的右括号,没有相应的左括号:
return (figlioDestro(p) == ((posizioneNodo)P_NULL)) /* -> */ )));
将其更改为:
return (figlioDestro(p) == ( (posizioneNodo)P_NULL ));