第1講 始めようVisual C++!
第7話 ビルドエラー対策
プログラミングをしていて悩まされるのは、ビルドエラーです。
一見何も問題がなさそうなのに、何度やってもビルドエラーしてしまいます。
ビルドエラー例を示しましょう。
コード(プログラムの文章)が下のようになっているとき、
#pragma endregion
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^
e) {
label1->Text=L"おはようございます!";
}
};
}
エラーします。どこが問題であるかわかりますか。
実際に、F5を押してビルドすると、ウィンドウの一番下に
と出てきます。赤い枠が1失敗となっています。これがエラーした証拠です。
緑の枠のエラー一覧をクリック(表示→その他のウィンドウ→エラー一覧と クリックしてもよい。)すると、
と説明が出てきます。
2カ所エラーしているというのです。
ですが、この説明を読んでも原因はわかりません。
ただ、重要な情報として101行目に問題があることがわかります。
では、101行目とはどこでしょうか。
適当な行をクリックすると
そこが何行目かわかります。「おはようございます!」の行をクリックすると、そこが101行目であることがオレンジの枠からわかります。
というわけで、実は
label1->Text=L"おはようございます!";
に問題があることがわかりました。
そこで、エラー一覧の
説明をもう一度読むと、
label1
ここに問題があることまで絞られました。
ですが、『定義されていない識別子です。』この説明わからないですね。
結局初心者を躓かせてしまうのは、こういった専門用語です。
これからエラーで悩まされたとき、エラー一覧を参照しますが、
結局何行目のどこの単語に問題がありそうだ、
までしかわからないと考えた方がいいです。
お答えしましょう。何が問題か。
label1
これが正しい綴りです。何が違いますか。もう一度左右に並べてみます。
label1 label1
おわかりになりますか。
1と1の違いです。つまり前半は全角、後半は半角です。
C++では、L""で挟まれている部分以外はすべて、半角英数でなければならないのです。
つまり、
label1->Text=L"おはようございます!";
ピンクの部分はすべて半角でなければなりません。
しかも、変数名では大文字も使えますが、半角英については1部を除いて基本的に小文字です。
Textはその例外の1つです。逆にここはtextとするとエラーします。
つまり、L""で囲まれている部分以外はすべて半角英数でアルファベットは基本的には小文字でなければならないのです。
全角文字は、スペースを含め入ってはいけないのです。
入るとエラーします。
ビルドエラーについては、VC++講義の第1講第6話 ビルドエラーとその対策も参照して下さい。
vc++講義第1部へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
数学研究室に戻る