[問題] 建構子的問題

看板C_and_CPP作者 (\冏/)時間13年前 (2011/01/18 14:19), 編輯推噓2(205)
留言7則, 2人參與, 最新討論串2/2 (看更多)
class CWin { private: char c; int width; int hight; public: CWin() {} CWin(char tmp='Q', int x=10, int y=20) { c=tmp, width=x, hight=y; } void getValue() { cout << c << width << hight; } } int main() { CWin obj; /* ERROR: call of overloaded 'CWin()' is ambiguous */ CWin obj(); /* 編譯會過,但是這邊的 obj 不是一個物件?!?!? 到底是什麼東西 */ } 有點困惑 CWin obj 與 CWin obj() -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 68.68.96.46

01/18 14:28, , 1F
看 17940 篇 ... 天啊, 這是從那篇以來第三篇這種問題
01/18 14:28, 1F

01/18 14:29, , 2F
了, 是某個學校的作業嗎?
01/18 14:29, 2F

01/18 14:30, , 3F
然後你的預設建構子有岐義, 預設建構子是"不需要參數就
01/18 14:30, 3F

01/18 14:31, , 4F
可喚起的那個版本", 不是只有 CWin() 這種型式才算
01/18 14:31, 4F

01/18 16:30, , 5F
第一個error是因為你另一個建構子可以什麼都沒傳就呼叫
01/18 16:30, 5F

01/18 16:30, , 6F
所以 ambiguous 了
01/18 16:30, 6F

01/18 16:31, , 7F
第二個就請你看17940篇的回文囉
01/18 16:31, 7F
文章代碼(AID): #1DDJ3x2r (C_and_CPP)
文章代碼(AID): #1DDJ3x2r (C_and_CPP)