VC6.0 WIN2000で作業をしてます。
WIN98からWIN2000で動かす作業をしてます。
元あるソースを弄って、
デバッグをしたら下のメッセージが出ました。
”ローカル関数の定義が正しくありません。”
このメッセージが出た場合には何が原因なんでしょうか?
どんな部分にみなさんはピント来ますか?
細かい用語までわからない為困ってます。
アドバイスお願いします。
べたべたな方法でスマートではないかもしれませんが、
私ならエラー発生場所と推定されるソースファイル、行番号、関数名とか
もいっしょにレポートされていませんか?
それらの情報から推定します。
次にエラーメッセージといっしょにエラー番号も出ているはずなので、
エラーメッセージやエラー番号でオンラインヘルプ(MSDNだったか)を検索します。
ちなみに私はこのメッセージは見たこと無いです。
あと、細かい用語がわかるように自ら勉強して力を高める努力をしてください。
この掲示板で細かい用語まで説明するのも限界があると思うので・・・。
もっと勉強してみます
>デバッグをしたら下のメッセージが出ました。
>”ローカル関数の定義が正しくありません。”
デバッグと言うよりコンパイルエラーじゃないのでしょうか?
ビルドメッセージウィンドウのメッセージをダブルクリックすればエラー行へ
カーソルが移動されます
ビルドメッセージウィンドウのエラーコード「CXXXXXX」のところにカーソル
あわせて「F1」を押せばエラーコードに対するヘルプ(MSDN)を探せます
デバッグなら
ソースプログラムの該当する行で「右クリック」すればブレークポイント
(一時停止ポイント)の設定できるよ
後はステップ(行単位)実行して自分の定義した変数の内容確認すればよいのでは
ないですか
>細かい用語までわからない為困ってます。
細かい用語って、どのくらい細かい用語、大も小もないと思いますけど
キーワードわかるならMSDNキーワード検索やweb検索したらどうですか
最初ってどんなキーワードで検索してよいかも見当がつかないと思うので
「こんな雰囲気のことをしたい キーワード教えて」のような質問
にしたらどうですか
これで同様のコンパイルエラーがでます
int main(int argc, char* argv[])
{
int a(int b) {
return b;
}
return 0;
}
通常でしたらこんな感じで閉じ括弧の数が少ないのではないかな?
int main(int argc, char* argv[])
{
....
return 0;
...
int a(int b) {
return b;
}
デバッグじゃなくてコンパイラーでした
エラー番号は C2061
無事にエラー解決しました。
原因はただ関数の中で{ が抜けてただけでした。
アドバイスをくれた方どうもありがとうございました。
また質問すると思いますがよろしくお願い致します。