コンパイルエラー

Last-modified: 2008-08-01 (金) 11:11:13

だいたいは複数出てくるので、先頭のメッセージだけを見ること。

構造体【○○○】は宣言されていません

そこが変数の宣言をする行の場合、宣言のさい、データ型の記述(○○○)が間違っている可能性がある。
(例:○string ×strong、○float ×froat)

【 XXX.○○○○○ 】は配列オブジェクト関数ではありません

○○○○○の名前が違っている可能性があります。
変数オブジェクト関数のほとんどは一文字目が大文字です。(例:○Alloc ×alloc)
配列 x[10] を宣言した後、x.any といった感じでタイプミスをすると出る。(正しくは x[0].any など)

関数定義ブロックの最後に【}】がありません

気にする必要がない。もし【}】ついていなくても、このエラーはでない。

ローカルオブジェクト宣言中に【;,】以外の無効な区切り番号【(】が現れました

その前の関数に}がついていない可能性がある。

【void】は型として有効ではありません

その前の関数に}がついていない可能性がある。

ファイルの終端に到達しました

ファイルの最後の関数に}がついていない可能性がある。

【=】は構造体オブジェクト名としては無効です。

引数の型が書かれていない可能性がある。

【,】は構造体オブジェクト名としては無効です。

引数の型が書かれていない可能性がある。

関数定義の第○引数の後に【,】もしくは【)】がありません

【,】と【.】を書き間違えてしまってたりする可能性もある。
関数を呼び出す時の引数で配列変数の宣言をしている可能性がある。

return文の最後に【;】がついていません

関数の型がvoidになっていて、returnに戻り値が書かれてある可能性がある。

式文の最後に【;】がありません

Allocのある行の場合、その指定の次元が配列の次元数を超えている可能性がある。
関数名のある行の場合、関数の型が書かれていない可能性がある。
関数の最後に【;】がない可能性がある。

オブジェクト【 x 】は宣言されていません

stringの代入を""(ダブルフォーテーション)で囲んでいない可能性がある。
 ×誤:string szY = パチェ萌え;
 ○正:string szY = "パチェ萌え";

XX演算子【 x 】の右辺はint値ではなくstring値です

stringを使った計算式の場合、()で囲んでいない可能性がある。
 ×誤:N(1 + szY == "パチェ萌え"); 
 ○正:N(1 + (szY == "パチェ萌え"));

関数形式キャスト演算子【 xxx 】の後に【 ( 】がありません

関数を呼び出す時の引数で変数の宣言をしている可能性がある。

ファイル【 XXX.jaf 】の読み込みに失敗しました

ファイルを削除or別の場所へ移動させたのを忘れて、incファイルにファイル名が残ったままの可能性がある。

第x引数は関数型ではありません

 アドレス(&関数名)で指定するところへ関数名を与えている可能性がある。

[******(関数名)]呼び出しの引数の個数が足りません

 そこがアドレスを渡す式の場合、アドレスの&をつけ忘れている可能性がある。

return文の値は**(型名)値ではなく関数型参照です

 returnで返す関数オブジェクトが引数を必要とする場合、つけ忘れている可能性がある。

return文の最後に【 ; 】がありません

 あれ、おかしいな。当該行には間違いなく return 1; と書いてあるのに…
 と思ってよく見たら関数が void 型になってた。
 void型で値を返せないことをsys4コンパイラは↑の様に表現するらしい。