作者etrexetrex (moonet)
看板C_and_CPP
標題[問題] 建構式多載的問題
時間Wed Mar 24 11:50:16 2010
遇到的問題: (題意請描述清楚)
http://nopaste.csie.org/501dc
第40行在執行階段時出錯
是因為 A->b 未設定實體
程式跑出來的錯誤結果:
並未將物件參考設定為物件的執行個體
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
visual studio 2005
有問題的code: (請善用置底文標色功能)
A(){
A(gcnew B(1));
}
若改成
A(){
b = gcnew B(1);
test();
}
就正常,但是我想要用第一種寫法
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.118.9.202
1F:→ dendrobium:如果是C++就可以用default argument... 03/24 13:11
2F:→ dendrobium:有C_Sharp板...這篇算走錯路了吧~ 03/24 13:12
3F:→ freesamael:這是C++/CLI不是C# 03/24 13:27
4F:→ etrexetrex:蛤 我寫的是C++呀 03/24 13:27
5F:推 dendrobium:對不起, 我很外行Orz , C++的話就用default argument吧 03/24 13:39
6F:→ etrexetrex:我只是舉例 我實際的問題不能用default argument 解決 03/24 13:58
7F:→ etrexetrex:因為我多載兩個 A(Bitmap^) 和 A(String^) 03/24 13:58
8F:→ etrexetrex:A(String^ s) 裡面寫的是 A(gcnew Bitmap(s)) 就掛了 03/24 13:59
9F:推 flashphp:我可以偷問一下那個"^"是什麼嗎? 03/24 14:46
10F:→ james732:C++/CLI 稱 ^ 為 handle, 可簡單想成另一種 pointer 03/24 14:49
12F:推 flashphp:我就知道我不懂C++, 謝j大 03/24 14:58
13F:推 VictorTom:樓上好巧喔, 小弟我也不懂C++說....(握手XD) 03/24 14:59
14F:推 james732:我也不懂C++ 請大家多多指教...XDDDD 03/24 15:03
15F:推 flashphp:v大和j大騙人, 搜尋文章二位在這都有50篇以上 03/24 15:15
16F:→ flashphp:你們是來"不會C++同盟會"的臥底吧, 被我抓到了 XD 03/24 15:16