おっちょこちょい

技術立国日本を支える一技術者として、技術のウンチクや技術者の待遇に関するグチを垂れ流しています。留学や海外出張時の経験を元に、日本と外国の歴史的・文化的な違いに関する経験と所感を述べます。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop

VS2005備忘録-C2143

とあるC++言語のソースコード,hoge.cppをC言語用にするために,hoge.cにリネームした時のこと.
何もC++言語としての機能は使用していなかったので,リネームするだけで問題ないと思っていました.

しかし,何度やっても
error C2143: 構文エラー : ';' が '型' の前にありません。
というエラーが出て,コンパイルできない.

元のコードはこんな感じでした.
void hoge(int i) {
  printf("%d",i);
  int j = i+1;
  printf("%d, j);
}

このところ,C++言語ばかりしていたのですっかり忘れていましたが,変数宣言が途中にあるとC言語ではエラーになるのでしたね.うっかりしていました.次のように順番を入れ替えたら,エラーはなくなりました.
void hoge(int i) {
  int j = i+1;
  printf("%d",i);
  printf("%d, j);
}

ちなみに,上のエラーはVS2005で起こりました.

PageTop

コメント


管理者にだけ表示を許可する
 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。