はじめまして。
独学で勉強中の超初心者です。
つまらない質問だと思いますが、よろしくお願いします。
アプリケーションクラスで、
--------------------------------------
CArray< CString, LPCTSTR > arrayTest;
--------------------------------------
と宣言しました。
そして、他のクラスで
--------------------------------------
CxxxApp* pApp = (CxxxApp*)AfxGetApp();
pApp->arrayTest.SetSize(100);
:
:
--------------------------------------
など処理をするのですが、
VC++のエディタって[.]や[->]を入力したら、
そのメンバ関数やメンバ変数がズラーッと出ますよね?
上の場合で、「pApp->」の時はメンバ情報が出るんですけど、
「arrayTest.」の時には何も出ません。
スコープとかの関係かと思いきや、コンパイルも通って
配列の処理についても正常に実行しました。
これは何故でしょう?GetAtとかSetAtとか出ないんですか?
自分が何か間違っているのか、CArrayの都合なのか、
VC++のエディタの都合なのかが解りません。
処理は成功したのですが、不安な気持ちになりました。
今まで、[.]や[->]を入れた時点で、何も表示されないと
「何か間違ってる!」と判断していたのですが。
どうなのでしょう?教えていただけませんか?
バージョンは6.0です。
IntelliSenseは文法的に正しくても出ないときがあります。
出たり出なかったりする基準はわかりませんが、「出ない=間違い」というわけではありません。
こんにちは。
この現象は、私もたまに遭遇します。
そのときは大体、文法ミスによるところが多いのですが・・・。
でも、文法に以上がないときもなります。
コンパイルが正常に通るのでしたら気にすることはないのでは?
そうなのですか!
すぐに返事を下さってありがとうございます。
また解らない事があったら質問させていただきます。
さっぱりしました。
解決されたということですが。
.ncbファイルを消したら直ります。
MSDNを「J045862」で検索してみてください。
おはようございます。
CdSさん、返事遅れてすみません。
EIJIさん・ないっぺさんのアドバイスでさっぱりして
ノリノリで遊びに出かけてしまいました。
早速、[.ncb]ファイル消してみました。
自動生成されるから消しても問題無いということなので
安心して削除しました。
結果、きちんと出るようになりました。
さらにさっぱりです。
ありがとうございました。