【发布时间】:2011-04-15 00:47:29
【问题描述】:
我在使用 VS2010(和 VS2008)时遇到问题,给出了很多语法错误。但是,语法确实是正确的。这是一个小例子;
我在 .h 文件中有以下代码块
// Prototype Declarations
LIST* createList (int (*compare) (void*, void*));
LIST* destroyList (LIST* plist);
int addNode (LIST* pList, void* dataInPtr);
bool removeNode (LIST* pList, void* keyPtr, void** dataOutPtr);
bool searchList (LIST* pList, void* pArgu, void** pDataOut);
bool retrieveNode (LIST* pList, void* pArgu, void** dataOutPtr);
bool traverse (LIST* pList, int fromWhere, void** dataOutPtr);
int listCount (LIST* pList);
bool isListEmpty (LIST* pList);
bool isListFull (LIST* pList);
LIST 是一个 typedef 的结构,仅供参考。所有这些函数声明似乎都是正确的语法。然而,在尝试构建时,我从第一个 bool 函数开始出现以下语法错误,顺着列表向下。
错误 2 错误 C2059:语法错误:';'
我看不出问题出在哪里。同样,这只是一个小例子。我还收到如下语法错误
bool found;
错误 29 错误 C2065: 'bool' : 未声明的标识符
我真的迷失了这个。这里发布的代码不是我自己的,它来自一本数据结构书,但看起来还是正确的。任何帮助,将不胜感激。谢谢!
【问题讨论】:
-
.c 或 .cc/.cpp 文件扩展名?在包含 .h 的文件上,即。
-
检查出现问题的代码周围的行,并检查头文件(它们经常给我带来麻烦)。
-
我在这段代码摘录中也看不到任何语法错误。我可以看到的错误来源之一是在原型声明之前缺少
LIST的定义。是在createList的定义之前被声明还是被声明的文件包含在其中? -
尝试将代码减少到产生这些错误的最小样本并在此处发布(如果这样做您没有得到答案)。
标签: c visual-c++ boolean visual-c++-2010