error C2533 建構函式不能有返回型別

2021-07-24 23:03:59 字數 319 閱讀 6859

c++程式設計隱蔽錯誤:error c2533: 建構函式不能有返回型別

今天在編寫類的時候,出現的錯誤。

提示乙個類的建構函式不能夠有返回型別。

在cpp檔案裡,該建構函式定義處並沒有返回型別。在標頭檔案裡,建構函式原型也無返回型別。

這就奇怪了,憑藉多年的程式設計經驗,似乎有一些似曾相識的靈感(以前似乎犯過同乙個錯誤)

然後在標頭檔案的末尾處,發現乙個類的結尾處並沒寫上分號。(小心小心再小心!!!)

看來在把頭檔案包含到cpp檔案裡時,誤把沒有加上分號的類當成了提示錯誤的建構函式的返回型別。

特此注意!

原文:

介面為什麼不能有建構函式

下面比較一下兩者的語法區別 1.抽象類可以有構造方法,介面中不能有構造方法。2.抽象類中可以有普通成員變數,介面中沒有普通成員變數 3.抽象類中可以包含非抽象的普通方法,介面中的所有方法必須都是抽象的,不能有非抽象的普通方法。抽象類中的抽象方法的訪問型別可以是public,protected和 預設...

在C 中,為什麼建構函式不能有返回值?

1 假設有乙個類c,有如下定義 class c c int i x i private int x 如果c的建構函式可以有返回值,比如int int c x 0 那麼下列 會發生什麼事呢?c c c 此時c.x 1!很明顯,c 呼叫了c的無引數建構函式。該建構函式返回int值1。恰好c有乙個但引數建...

union中的成員不能有建構函式

最近在做專案的cta測試,快被折騰死了。專案中用到的開源庫alljoyn在編譯時報錯 in file included from target base alljoyn inc alljoyn message.h 36 0 from target base alljoyn inc alljoyn a...