您好,我在iplementingh基于基础数组的二叉树。

我的项目包括一组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:错误:')' token 之前的预期主表达式
AlberoBinariov.h:198:错误:预期为`;'在')'标记之前

AlberoBinariov.h:在成员函数bool AlberoBinariov<T>::figlioDestroVuoto(typename Alberoa<T, int>::posizioneNodo)':AlberoBinariov.h:204: error: expected)'中的';'之前代币
AlberoBinariov.h:204:错误:预期的)' before ';' tokenAlberoBinariov.h:204: error: expected primary-expression before ')' tokenAlberoBinariov.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
      }

为方便起见,我还在下面的链接中提供了完整的源代码。

https://filetea.me/t1sc3e60

你能告诉我吗?预先感谢您的时间。我期待着您的回音。

亲切的问候,
杰拉尔德

PS:P_NULL是在Constants.h文件中声明的NULL指针常量。

最佳答案

您有3个单独的右括号,但没有相应的左括号:

return (figlioDestro(p) == ((posizioneNodo)P_NULL)) /* -> */ )));

更改为此:
return (figlioDestro(p) == ( (posizioneNodo)P_NULL ));

09-11 19:57