thisについて – プログラミング – Home

通知
すべてクリア

[解決済] thisについて


あはは
 あはは
(@あはは)
ゲスト
結合: 23年前
投稿: 3
Topic starter  

すみませんはじめまして。MFCを使用しています。

自分で作成したクラスのメソッドで以下のようにカラーコモンダイアログのオブジェクトを宣言したのですが

CColorDialog y_color_dlg(dotcolor,0,this);

次のようなエラーが出ます。

3 番目の引数を 'class Dot *const ' から 'class CWnd *' に変換できません。 (新しい機能 ; ヘルプを参照)

どうもthisがおかしいようです。引数を与えない場合や、thisの代わりにNULLを指定するとLNKエラーになってしまいます。

thisの代わりにどのような引数を用意したらよいのでしょうか?またその他の解決策をご存知でしたらお教えください。


引用未解決
トピックタグ
あはは
 あはは
(@あはは)
ゲスト
結合: 23年前
投稿: 3
Topic starter  

ちなみに自分で作成したクラスは何も継承をしていないクラスです。

CFrameWndを継承しているクラスのメソッドOnLButtonDownでは上手くいったのですが・・・関係ないですかね


返信引用
toru
 toru
(@toru)
ゲスト
結合: 23年前
投稿: 15
 

> CFrameWndを継承しているクラスのメソッドOnLButtonDownでは上手くいったのですが・・・関係ないですかね

たぶん関係あると思います。
CColorDialogの最後の引数はCWnd*です。
CFrameWndはCWndを継承しているので暗黙の型変換(で良かったっけ?)ができます。
で自作クラス(たぶんDotって名前だと思う)の方は型変換が出来ません。

> thisの代わりにNULLを指定するとLNKエラーになってしまいます。

NULLでいい気もしますが...どんなLNKエラーが出るんですか?

解決法としてはとりあえずどっかからCWnd*を取ってきて下さい。
MFC知識は全く無いんでこれが限界です(笑)


返信引用
あはは
 あはは
(@あはは)
ゲスト
結合: 23年前
投稿: 3
Topic starter  

お返事ありがとうございます。
NULLで大丈夫でした。LNKエラーはまた違う場所から生じたものでした。
すみません。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました