ウィザードバーのメンバ関数で、
メンバ関数を指定することで、
コード内の指定のメンバ関数部に
移動するかと思います。
最初はうまく動作していましたが、
開発を進めるうち、一部の関数で
移動できなくなり、下記のメッセージが
出てきます。
「この関数の定義が見つかりません。ClassViewは最低一度保存
されるまで関数の定義を見つけることができません」
プログラムは正常に動作している状態
ではありますが、開発効率が良くない
ので、対処方法解かる方ご教授願います。
プロジェクトを閉じて***.ncbファイルを削除してから、
再度プロジェクトを開きなおす。
この話題はいろいろな所の過去ログで見かけますが、知らないと検索条件が
見つからないんですよね。
ncb clw 等で検索してください。
ありがとうございます。
ncbファイルを削除し再度プロジェクトを
立ち上げてみました。
しかし、問題が改善されませんでした。
ちょっと関係ないかもしれませんが、
1つの関数で記述可能なコードの行数に
制約はあるのでしょうか?
移動できない関数のコードの桁数は、
600行と若干多いのが気になっています。
>ncbファイルを削除し再度プロジェクトを
>立ち上げてみました。
>しかし、問題が改善されませんでした。
はずしましたか。すみません。
1.
ncbに加えてclwも同時に削除して、立ち上げてからメニューのクラスウィザードを
選択、"再構築しますか?"というメッセージに"はい"と答えると直る事があります。
2.
optファイルも削除してみる。(クラスビューのフォルダ構成がなくなってしまいますが)
なんて方法もありますが、必ず直るとも限りません。
一応バックアップを取ってから試してみてください。
ありがとうございます。
ちょっともう一点問題があって、インテリセンス機能が
効かなくなるという問題だったのですがそちらは下記
URLにて解決しました。
http://live.under.jp/todashou/tips/VC++/intellisense.html
ここで、ご指摘のあったclw・optファイルを削除し、クラスウィザード
選択後、再構築しているはずですが、こちらの問題は解決しません。
何か他に対策はあるでしょうか?
うーん、だめですか。
あと関数定義の仮引数を省略するやつがいると、見つけられなかった事が
あったような気がします。
//**.h
class A
{
...
void Func(int,int) ;
}
//**.cpp
void A::Func(int a , int b )
{
....
}
こんなやつ。
> ので、対処方法解かる方ご教授願います。
VC6のそれらの機能はその程度の精度で普通です。(環境書いてないけど文脈で判断)
VC.NET2003はその点快適です。VC6ももうMSの保証対象外(有償延長除く)ですから
移行がお勧めです。
> 移動できない関数のコードの桁数は、
> 600行と若干多いのが気になっています。
(バックアップを取って)この関数の中を消してから再試行してみれば切り分けできるかも。
仮引数の点で自分のコードを確認しました。
ご指摘の仮引数の省略はありませんでしたが
呼び出せない関数に共通する部分がありました。
仮引数の型に、列挙型のデータを指定している
関数が呼び出せないことがわかりました。
>VC6のそれらの機能はその程度の精度で普通です。(環境書いてないけど文脈で判断)
VC++6です。これから気をつけます。
>(バックアップを取って)この関数の中を消してから再試行してみれば切り分けできるかも。
そうですね。その方法で確認できました。
600行を空にしても関数に移動できませんでした。
いろいろありがとうございました。
解決チェックわすれ
ツイート | ![]() |