1

我從VC++ 6.0升級到VS2008並修復了一些錯誤,然後編譯成功。但是從升級到VS2008或VS2013後,VS2015, 我得到753錯誤,如:將MFC C++項目從VS 2008升級到2013時出錯

1> bitbuf.cpp 
1>C:\Program Files\Microsoft Visual Studio 12.0\VC\atlmfc\include\atlcomcli.h(166): warning C4003: not enough actual parameters for macro 'Swap' 
1>C:\Program Files\Microsoft Visual Studio 12.0\VC\atlmfc\include\atlcomcli.h(166): error C2062: type 'void' unexpected 
1>   C:\Program Files\Microsoft Visual Studio 12.0\VC\atlmfc\include\atlcomcli.h(312) : see reference to class template instantiation 'ATL::CComPtrBase<T>' being compiled 
1>C:\Program Files\Microsoft Visual Studio 12.0\VC\atlmfc\include\atlcomcli.h(166): error C2334: unexpected token(s) preceding '{'; skipping apparent function body 
1>C:\Program Files\Microsoft Visual Studio 12.0\VC\atlmfc\include\atlcomcli.h(167): error C2059: syntax error : '{' 
1>C:\Program Files\Microsoft Visual Studio 12.0\VC\atlmfc\include\atlcomcli.h(167): error C2334: unexpected token(s) preceding '{'; skipping apparent function body 
1>C:\Program Files\Microsoft Visual Studio 12.0\VC\atlmfc\include\atlcomcli.h(334): warning C4003: not enough actual parameters for macro 'Swap' 
1>C:\Program Files\Microsoft Visual Studio 12.0\VC\atlmfc\include\atlcomcli.h(351): warning C4003: not enough actual parameters for macro 'Swap' 
1>C:\Program Files\Microsoft Visual Studio 12.0\VC\atlmfc\include\atlcomcli.h(358): warning C4003: not enough actual parameters for macro 'Swap' 
1>C:\Program Files\Microsoft Visual Studio 12.0\VC\atlmfc\include\atlcomcli.h(364): warning C4003: not enough actual parameters for macro 'Swap' 
1>C:\Program Files\Microsoft Visual Studio 12.0\VC\atlmfc\include\atlcomcli.h(391): warning C4003: not enough actual parameters for macro 'Swap' 
1>C:\Program Files\Microsoft Visual Studio 12.0\VC\atlmfc\include\atlcomcli.h(399): warning C4003: not enough actual parameters for macro 'Swap' 
1>C:\Program Files\Microsoft Visual Studio 12.0\VC\atlmfc\include\atlcomcli.h(411): warning C4003: not enough actual parameters for macro 'Swap' 

753錯誤從atlcomcli.h

我也嘗試用VS2010,不同的錯誤,但仍然不知道在哪裏修復

1> bitbuf.cpp 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(117): error C2059: syntax error : 'constant' 
1>   C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(131) : see reference to class template instantiation 'std::numeric_limits<_Ty>' being compiled 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(118): error C2334: unexpected token(s) preceding '{'; skipping apparent function body 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(224): error C2059: syntax error : 'constant' 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(225): error C2334: unexpected token(s) preceding '{'; skipping apparent function body 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(289): error C2059: syntax error : 'constant' 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(290): error C2334: unexpected token(s) preceding '{'; skipping apparent function body 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(355): error C2059: syntax error : 'constant' 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(356): error C2334: unexpected token(s) preceding '{'; skipping apparent function body 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(419): error C2059: syntax error : 'constant' 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(420): error C2334: unexpected token(s) preceding '{'; skipping apparent function body 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(482): error C2059: syntax error : 'constant' 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(483): error C2334: unexpected token(s) preceding '{'; skipping apparent function body 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(545): error C2059: syntax error : 'constant' 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(546): error C2334: unexpected token(s) preceding '{'; skipping apparent function body 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(611): error C2059: syntax error : 'constant' 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(612): error C2334: unexpected token(s) preceding '{'; skipping apparent function body 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(739): error C2059: syntax error : 'constant' 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(740): error C2334: unexpected token(s) preceding '{'; skipping apparent function body 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(804): error C2059: syntax error : 'constant' 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(805): error C2334: unexpected token(s) preceding '{'; skipping apparent function body 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(869): error C2059: syntax error : 'constant' 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(870): error C2334: unexpected token(s) preceding '{'; skipping apparent function body 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(934): error C2059: syntax error : 'constant' 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(935): error C2334: unexpected token(s) preceding '{'; skipping apparent function body 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(1062): error C2059: syntax error : 'constant' 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(1063): error C2334: unexpected token(s) preceding '{'; skipping apparent function body 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(1127): error C2059: syntax error : 'constant' 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(1128): error C2334: unexpected token(s) preceding '{'; skipping apparent function body 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(1193): error C2059: syntax error : 'constant' 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(1194): error C2334: unexpected token(s) preceding '{'; skipping apparent function body 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(1260): error C2059: syntax error : 'constant' 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(1261): error C2334: unexpected token(s) preceding '{'; skipping apparent function body 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(1327): error C2059: syntax error : 'constant' 
1>C:\Program Files\Microsoft Visual Studio 10.0\VC\include\limits(1328): error C2334: unexpected token(s) preceding '{'; skipping apparent function body 
1> curve.cpp 
1> edittext.cpp 

有誰能告訴我我做錯了什麼嗎? 感謝您的閱讀。

+1

您是否使用了SWAP方法來查看函數參數?將它與您在代碼中使用的內容進行比較。 –

回答

1

經過幾天,我發現我已經在代碼中定義了Swap函數,它將與atlcomcli.h中的Swap函數衝突,然後我重命名我的交換函數,並且一切正常。

相關問題