エラ−対策
VC++のエラーメッセージは分かりにくいです。
どのようなエラーが出たらば、どのような修正を行うべきかを書いた本もありません。
そこでエラーメッセージと対応集をまとめました。
error C2065: 'printf' : 定義されていない識別子です。
printf を使用しているのに#include <stdio.h> を書いていません。
これを先頭に書きましょう。
error C2018: 文字 '0x81' は認識できません。
error C2018: 文字 '0x40' は認識できません。
全角(漢字)のスペース(空白)を使用しています。
しかも半角のスペースと全角のスペースが見分けがつきません。
その行の空白を削除して入れ直しましょう。
fatal error C1004: 予期せぬ EOF が検出されました。
{ と } の組み合わせがおかしく、}の数が足りないことが原因です。
インデント(命令を右位置へずらす)を正しく書いたりして
プログラムを整理して、確かめて見てください、
error C2065: 'aaa' : 定義されていない識別子です。
error C2373: 'aaa' : 再定義されています。異なる型修飾子です。
以下のようなプログラムでは aaa という関数を作成したのに、
「定義されていない」、「再定義されています」と表示されます。
#include
void main()
{
aaa(5);
}
void aaa(int a)
{
printf(a);
}
これは最初に関数を宣言していないのが原因です。
void aaa(int a); と main の前で宣言しましょう。
warning C4518: 'void ' : 予期されないストレージ クラスまたは型指定子です。無視されます
error C2146: 構文エラー : ';' が、識別子 'main' の前に必要です。
エラーが void main() で出ましたが以下のプログラムにバグはありません。
#include
#include "bbb.h"
void main()
{
p1();
}
void p1()
{
}
ところでエラーの行は #include "bbb.h" の後の行です。
このヘッダファイルの中を見ると
void p1()
です。最後に ; がありません。これが原因です。
エラーはこのファイルでは無く、インクルードしているファイルで表示されました。
そのような時はインクルードされているヘッダファイルを調べて見ましょう。
error LNK2001: 外部シンボル "_main" は未解決です
プロジェクトを作る時に Win32 Console Application を選択してしまいました。
その1ケ上の Win32 Application を選択してプロジェクトを作り直して下さい。
トップメニューへ戻る