2009年7月7日火曜日

warning C4355: 'this' : ベース メンバ初期化子リストで使用されました。

IP Messanger を いじくろうと思い、Microsoft Visual C++ 2008 Express Edition でコンパイルしたら
わんさかエラーが出たので、その備忘録。
エラー【その2】!!!

this ポインタを使用できるのは、非静的メンバ関数の中だけで、基本クラスの初期化子リストでは使用できないとのこと。

基本クラスのコンストラクタとクラス メンバ コンストラクタが、this コンストラクタの前に呼び出されているため出る。
初期化されていないオブジェクトへのポインタを別のコンストラクタに渡していることになるので、
渡されたコンストラクタが、このポインタによってメンバにアクセスするかメンバ関数を呼び出すと、結果が未定義というわけです。
要するに、this ポインタは、すべての構築が完了するまで使用するなと。



免責
この記事やプログラムによって生じた事故・損害などは一切保証致しません。ご自身の責任でご使用ください。

子育てブログ「おとう日記」はじめました。
興味ある方、是非ご覧下さい!
おとう日記

コピペプログラマの倉庫を作りました。
サンプルプログラムなど置いておきますのでお立ち寄り下さい。
コピペプログラマ倉庫


良ければ↓投票お願いします↓ m(._.)m ペコッ
人気ブログランキングへ

0 件のコメント:

コメントを投稿