メンバ変数が途中から無効になってしまう – プログラミング – Home

メンバ変数が途中から無効になってしまう
 
通知
すべてクリア

メンバ変数が途中から無効になってしまう


しっち
 しっち
(@しっち)
ゲスト
結合: 23年前
投稿: 3
Topic starter  

VC++6.0を使用しています。
あるクラスのヘッダで、異なるクラスのインスタンス(CString str;のような)を
メンバ変数として定義しています。
また、5つほどメンバ関数を定義しています。
どれらもpublicで定義しています。
その5つのメンバ関数のうち2つの関数ではメンバ変数を操作できるのですが、
他の3つのメンバ変数では有効でなくなります。
例えば、メンバ変数のあとに「.」(ピリオド)でそのメンバ変数がもつ関数がリストアップされますが、
2つの関数ではされるのですが他の3つの関数では何も起こりません。
また、型情報ヒントでは弾かれてしまい何も表示されません。
ビルドはエラー無く通ります。
情報をお持ちの方はよろしくお願いいたします。


引用解決済
トピックタグ
toru
 toru
(@toru)
ゲスト
結合: 23年前
投稿: 15
 

よくわかりませんが、関数5つのうち3つでインテリセンスが効かないってことですか?

原因としては

関数の定義にマクロを使用している。
この場合は無理です。インテリセンスはマクロ展開前の情報を参照しますのでアウトです。

単純にインテリセンスが死んでいる。
この場合が多いと思います。VC++のインテリセンスはしょっちゅう死ぬんで
ビルドに問題が無いんだったら気にしないことが1番です。


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

情報ありがとうございます。

>単純にインテリセンスが死んでいる。
これは修正のしようはないのでしょうか?
実行させてみるとその部分が正常に働いていないようなのです。

プログラム自体は先人のものを引き継いで作っているのですが、
新たにメンバ変数を追加しても
その変数はすべて効かなくなっていまいます。
同じく、新たに関数を追加しても、
元からの変数、新しく追加した変数共に効きません。


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

> 実行させてみるとその部分が正常に働いていないようなのです。
それはどいうことですか?関数の呼び出し自体が失敗してるんですか?
それなら無視するというわけにはいきませんね。

デバッグで順番にステップインして調べてみるのが1番だと思いますよ。


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

インテリセンスが効いていない関数が呼び出されたときに
関数内でそのメンバ変数がもつメンバ関数を使っているのですが、
正常に値が返ってきていないようなのです。
それは他の効かない関数でもメンバ変数に正常に値が格納されていないなどです。

ありがとうございました。
なんとか頑張ってみます。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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