c:\program files (x86)\microsoft visual studio 10.0\vc\include\yvals.h(533): error C2144: 語法錯誤:“bool”的前面應有“;”
c:\program files (x86)\microsoft visual studio 10.0\vc\include\yvals.h(533): error C4430: 缺少型別說明符 - 假定為 int。注意: C++ 不支持默認 int
貼出出錯部分及相關定義如下:
/* NAMESPACE */
#if defined(__cplusplus)
#define _STD_BEGIN namespace std {
#define _STD_END }
#define _STD ::std::
#define _STDEXT_BEGIN namespace stdext {
#define _STDEXT_END }
#define _STDEXT ::stdext::
#ifdef _STD_USING
#define _C_STD_BEGIN namespace std {
#define _C_STD_END }
#define _CSTD ::std::
#else
#define _C_STD_BEGIN
#define _C_STD_END
#define _CSTD ::
#endif
#define _C_LIB_DECL extern "C" {
#define _END_C_LIB_DECL }
#define _EXTERN_C extern "C" {
#define _END_EXTERN_C }
#else /* __cplusplus */
#define _STD_BEGIN
#define _STD_END
#define _STD
#define _C_STD_BEGIN
#define _C_STD_END
#define _CSTD
#define _C_LIB_DECL
#define _END_C_LIB_DECL
#define _EXTERN_C
#define _END_EXTERN_C
#endif /* __cplusplus */
#define _Restrict restrict
#ifdef __cplusplus
_STD_BEGIN
typedef bool _Bool; //出錯行535
_STD_END
#endif /* __cplusplus */
網上查說應該在“}”后面加個分號,加了之后依然報同樣的錯誤。不知道原因何在,想各位大拿指點一二
uj5u.com熱心網友回復:
命名空間的大括號有沒有uj5u.com熱心網友回復:
在前面的ifdef里都定義了,有大括號的uj5u.com熱心網友回復:
先把出錯行注釋掉,找找確切的錯誤地方。還有
按照一下鏈接看看宏展開后的代碼
uj5u.com熱心網友回復:
感謝各位的解答。代碼沒有問題,出現這些報錯的根本原因是軟體版本沖突。我是在用VS2010呼叫python時出現的這個錯誤,把Python換成低版本就不報錯了。VS2010版本比較老,只能和老版本的python配合使用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/74477.html
標籤:C++ 語言
上一篇:OJ 佇列題 求解 !!!
下一篇:QCamera視頻錄制
