【初心者歓迎】C/C++室 Ver.64【環境依存OK】at TECH
【初心者歓迎】C/C++室 Ver.64【環境依存OK】 - 暇つぶし2ch319:デフォルトの名無しさん
09/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
それともこの再現自体が間違ってるのでしょうか・・・?


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch