- 319 名前:デフォルトの名無しさん mailto:sage [2009/03/09(月) 20:49:52 ]
- >>318
explicitは付けていません。変換コンストラクタについてもっと勉強が必要でしょうか; 試しに簡易コードで再現してみました。皆さんの環境ではコンパイル通りますでしょうか? class A { // 基底クラス public: DWORD_PTR a; // データメンバ operator DWORD_PTR() { return a; } A(DWORD_PTR x = 0) : a(x) {} // コンストラクタ A getData() { return A(a); } // 自クラスでキャスト }; class B : public A { // 派生クラス public: B(DWORD_PTR x = 0) : A(x) {} // コンストラクタ B& operator=(DWORD_PTR x) { a = x; return *this; } }; A aaa; B bbb = aaa.getData(); // NG bbb = aaa.getData(); // OK それともこの再現自体が間違ってるのでしょうか・・・?
|

|