stdlib cdefs.h中的C++错误?
问题描述:
我试图用XCode在Mac Lion(10.7)上编译我的C++应用程序时出现错误。 编译器抱怨cdefs.h
(包括syslog.h
)中的一行,并显示错误expected unqualified-id
。stdlib cdefs.h中的C++错误?
#if defined(__cplusplus)
#define __BEGIN_DECLS extern "C" { //<--- Error in this line
#define __END_DECLS }
#else
#define __BEGIN_DECLS
#define __END_DECLS
#endif
这是怎么回事?
答
找到它们了! #include <syslog.h>
后面有一些奇怪的隐形字符。所以注释掉这条线就解决了这个问题,因为这个字符也被注释掉了。 结论:你不应该复制粘贴在网上找到的所有东西。
+0
我错过了包含在多个文件中的头文件的分号... – Paschalis 2015-08-19 10:07:23
它是唯一的错误?编译器不显示任何其他消息吗? (警告或其他)? – 2012-01-12 18:50:56
你确定错误在那条线吗?如果是这样,你确定没有错误(大括号没有关闭,在类尾部缺少分号等)_上面_你包括文件吗? – 2012-01-12 18:51:25
'cdefs.h'通过包含的'syslog.h'包含在内。 '__BEGIN_DECLS'行处的'syslog.h'存在另一个错误 - 相同的错误消息。如果我在我的项目中注释掉'#include',一切都很好。 –
gorootde
2012-01-12 18:55:32