第1講 始めようVisual C++
第6話 ビルドエラーとその対策
さて、みなさんビルドはうまくいったでしょうか。
初めてのプログラミングだと、
ビルドがうまくいかずエラーが出てしまった人も多いと思います。
何回やってもうまくいかず、しかも原因がわからずイライラされた方も多いでしょう。
(プログラミングにおいては、細かくビルド(実行)する習慣をつけてください。
たくさん、コーティング(プログラミングの文章を書くこと)してから、ビルドすると
エラーの原因がつかめなくなります。ですから、まめにビルドしましょう。
ビルドして成功した部分にはエラー原因がないので、
それ以降に加えたコードに限定してエラー原因が探れるからです。)
その原因と対策をここで述べていきましょう。
ビルドがうまくいった方も、今後のために是非この第6話を熟読して下さい。
おそらく一番多いのは、
label1->Text=L"はじめてのVisual C++";
の;を忘れたためのエラーでしょう。
label1->Text=L"はじめてのVisual C++"
(ビルドがうまくいった方も、;を消して実験してみましょう。
『ビルドエラーが発生しました。続行して、最後に成功したビルドを実行しますか?』
と出てきたらいいえを選んで下さい。)
として、ビルドすると次のようなエラーメッセージが出てきます。
1>d:\vc++2010d1\a\a\Form1.h(98): error C2143: 構文エラー : ';' が '}'
の前にありません。
また、大文字/小文字の違いもエラーの原因になります。
例えば、
label1->text=L"はじめてのVisual C++";
と入力されている場合、
1>d:\vc++2010d1\a\a\Form1.h(96): error C2039: 'text' : 'System::Windows::Forms::Label'
のメンバーではありません。
1> c:\program files\reference assemblies\microsoft\framework\.netframework\v4.0\system.windows.forms.dll
: 'System::Windows::Forms::Label' の宣言を確認してください。
というエラーメッセージが出てきます。
さらに、
Label1->Text=L"はじめてのVisual C++";
と誤って入力されていると、
1>d:\vc++2010d1\a\a\Form1.h(96): error C2065: 'Label1' : 定義されていない識別子です。
1>d:\vc++2010d1\a\a\Form1.h(96): error C2227: '->Text' : 左側がクラス、構造体、共用体、ジェネリック型へのポインターではありません。
1> 型は ''unknown-type'' です。
というエラーメッセージになります。
全角/半角の違いもエラーの原因になります。
""の間以外はすべて半角です。
全角で入力して、実験してみましょう。
label1->Text=L"はじめてのVisual C++";
1が全角になっています。すると、
1>d:\vc++2010d1\a\a\Form1.h(96): error C2065: 'label1' : 定義されていない識別子です。
1>d:\vc++2010d1\a\a\Form1.h(96): error C2227: '->Text' : 左側がクラス、構造体、共用体、ジェネリック型へのポインターではありません。
1> 型は ''unknown-type'' です。
のエラーコードになります。
したがって、
label1->Text=L"はじめてのVisual C++";
のlabel1->Text=L"";の部分はすべて半角で、
大文字/小文字もこの通りでないとエラーします。
それでは、""の間はどうでしょうか。
label1->Text=L"abc abc あいうえお";
等としてみるとエラーは発生しません。
そして、実行してみるとlabel1が
abc abc あいうえお
となるだけです。
label1->Text=L"^「」¥";
とすると、label1は
^「」¥
になります、
つまり、""の間はどのように入力されていても、
基本的には間の部分がそのまま表示されるのです。
最後に難問を出しましょう。
これはどこにも問題がなさそうです。
ところがビルドすると、エラーしてしまします。なぜでしょうか。
実は、
赤い四角の部分に全角スペースが入っているのです。
スペースもすべて半角でなければならないのです。
では、
はどうでしょうか。
これはビルドすると成功します。
も問題なくビルドできます。
label1の前には、半角スペースならいくつ入っていても問題ないのです。
(また、Tabでの移動もまったく問題がありません。)
つまり、label1->Text=L"はじめてのVisual C++";
の位置は、半角スペース(Tabでも可)やBackSpaceで動かせば、関係ないのです。
ただし、全角スペースで動かすとエラーします。
全角スペースが入っていなければ位置は関係ないのですが、
Systemのeの下当たりから書きはじめるようにしましょう。
これは最初の状態
からエンターしたときの位置です。つまりデフォルトの位置です。
プログラミングは、段組しながらする習慣を付けて下さい。
段組の例を挙げると
です。意味の固まりごとに段組をする習慣を付けて欲しいのです。
コード(プログラミングの文章)内容は後に学習しますので、今は段組のところだけに注目して下さい。
段組が小さすぎると、段組がわかりにくくなりますので、右への移動は半角スペースでなくTabキーを使うようにしてください。
ですから、右への移動はTabキー、左への移動はBackSpaceを使うようにしましょう。
NEW! eclipse c++ 入門
NEW! 魔方陣 数独で学ぶ VBA 入門
NEW数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第2部
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第3部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ