为什么在语法正确的情况下VS2010会出现语法错误?

| 我在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是一个类型定义的结构,仅供参考。所有这些函数声明似乎都是正确的语法。但是,在尝试构建时,从第一个bool函数开始,出现以下语法错误。   错误2错误C2059:语法错误:\'; \' 我看不到问题出在哪里。同样,这只是一个小例子。我还会收到语法错误,例如以下内容
bool found;
  错误29错误C2065:\'bool \':未声明的标识符 我真的迷失了这个。这里发布的代码不是我自己的,它来自一本数据结构书,但是看起来还是正确的。任何帮助,将不胜感激。谢谢!     
已邀请:
C2ѭ不是C中的基本类型。 Visual C ++仅实现C90,没有“ 2”类型。 C99通过
<stdbool.h>
标头添加了对
bool
的支持,但Visual C ++不支持。 您应该使用
int
或为
bool
创建自己的typedef。     
检查包含该标头的文件的文件扩展名。 如果您不告诉它做任何不同的事情(在项目设置中),Visual Studio会将.c文件自动编译为C而不是C ++。 Visual Studio的\“ C \”支持非常有趣……据我所知,它实际上是C89而不是C99,您不能只是轻拂一下即可获得C99。除了C89 / C99,布尔不是C中的内置类型。 您可以将所有文件重命名为.cpp以将它们编译为C ++,或修改项目设置以强制对项目中的每个.c / .cpp / .cc文件进行C ++编译。     

要回复问题请先登录注册