【发布时间】:2012-10-30 21:55:02
【问题描述】:
您好,我正在实现一个基于底层数组的二叉树。
我的项目包含一组 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: 错误: ')' 标记之前的预期主表达式
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 指针常量。
【问题讨论】:
-
所有这些匈牙利真正长的名字都很难阅读 :-( 尝试只使用“foo”、“bar”和“src”等名称来制作一个有代表性的代码示例......
-
我是这么想的。如果我为变量选择英文名称应该会更好。但是,由于该项目包含数千行代码和几个文件,因此我很难重命名所有文件中的所有名称。我认为如果您尝试自己编译代码,我们可以更轻松、更快地找到解决方案。只要问我你需要理解的代码部分是什么,我就会发布答案。抱歉,我知道这很痛苦 :)
-
请同时更新您的 IDE/编译器/调试器:sourceforge.net/projects/orwelldevcpp/…
标签: c++ templates g++ dev-c++ typename