1 你覺得這兩個寫法有什么不同????
class A{ //構造函數 A(); //析構函數 ~A(); } class A{ A(); ~A(); }
//只是差了兩行注釋,為什么會出現
編譯器錯誤 C2600無法定義編譯器生成的特殊成員函數 (必須先在 類中聲明)
因為我這個帶注釋的A是從Linux平台或者手機Android IOS平台直接粘貼到Visual studio 上的;
很多人看到問題:無法定義編譯器生成的特殊成員函數 (必須先在 類中聲明)會很奇怪,明明我已經聲明了這個函數了,為什么會報這個錯誤;
我可能也並不知道我刪除了中文注釋就能解決;
這時候你看一下Warning:
該文件包含不能在當前代碼頁中表示的字符,請將該文件保存為Unicode格式防止數據丟失;
其實往往出現這個錯誤(C2600無法定義編譯器生成的特殊成員函數)的時候:還會出現非常多的,變量未聲明,一些明明聲明了的變量還是提示未聲明;
解決辦法:
這個文件一般情況一定不是你新建的,要么是拷貝過來的代碼,要么是直接整個文件從別的地方拿過來的;是從Linux,或者安卓,IOS平台拿過來的;
並且這里邊包含一些中文,或者特殊字符;把里邊的中文或特殊刪掉就好了;或者用其他編譯器把這些粘貼過來的代碼設置成UTF8編碼
圖片來源(問題參考):https://www.cnblogs.com/liushui-sky/p/10977765.html