- ベストアンサー
C/C++のfor文?エラー
int k2; int es1=0; es1出力する式。 int esti=0; for( k2=0 ; k2<es1 ;k2++){ rep1esti[esti]=rep1estiM[k2], rep2esti[esti]=rep2estiM[k2]; repky1esti[esti]=repky1esti[k2], repky2esti[esti]=repky2estiM[k2], esti=esti+1; } をコンパイルしたとき次のようにエラーが出てきます。 どうすれば、エラーを消せるのでしょうか? よろしくお願いします。 c:\documents and settings\hiro\デスクトップ\gaibupara\opencvwithdirectshow_v2.0\ransacmotion.cpp(354) : error C2059: 構文エラー : 'for' c:\documents and settings\hiro\デスクトップ\gaibupara\opencvwithdirectshow_v2.0\ransacmotion.cpp(354) : error C2143: 構文エラー : ')' が ';' の前にありません。 c:\documents and settings\hiro\デスクトップ\gaibupara\opencvwithdirectshow_v2.0\ransacmotion.cpp(354) : error C2143: 構文エラー : ';' が '<' の前にありません。 c:\documents and settings\hiro\デスクトップ\gaibupara\opencvwithdirectshow_v2.0\ransacmotion.cpp(354) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません c:\documents and settings\hiro\デスクトップ\gaibupara\opencvwithdirectshow_v2.0\ransacmotion.cpp(354) : error C2143: 構文エラー : ';' が '++' の前にありません。 c:\documents and settings\hiro\デスクトップ\gaibupara\opencvwithdirectshow_v2.0\ransacmotion.cpp(354) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません c:\documents and settings\hiro\デスクトップ\gaibupara\opencvwithdirectshow_v2.0\ransacmotion.cpp(354) : error C2086: 'int k2' : 再定義されました。 c:\documents and settings\hiro\デスクトップ\gaibupara\opencvwithdirectshow_v2.0\ransacmotion.cpp(354) : 'k2' の宣言を確認してください。 c:\documents and settings\hiro\デスクトップ\gaibupara\opencvwithdirectshow_v2.0\ransacmotion.cpp(354) : error C2059: 構文エラー : ')' c:\documents and settings\hiro\デスクトップ\gaibupara\opencvwithdirectshow_v2.0\ransacmotion.cpp(354) : error C2143: 構文エラー : ';' が '{' の前にありません。 c:\documents and settings\hiro\デスクトップ\gaibupara\opencvwithdirectshow_v2.0\ransacmotion.cpp(354) : error C2447: '{' : 対応する関数ヘッダーがありません (旧形式の仮引数リスト?)
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
> 別の方法でやってみたところ、エラーが出てこなくなったのですが、 > > repky1esti[esti]=repky1esti[k2] > というのがおかしいのでしょうか? ソースコードを修正してコンパイルし直した結果、 エラーが出なくなったのであれば、「文法上は」正しいです。 実行結果が正しいかどうかは別です。
その他の回答 (3)
- asuncion
- ベストアンサー率33% (2127/6289)
> こんな構文は無い。 それはちょっと…。 複数の代入文をカンマでつないでいるだけです。 a = b, c = d, e = f; って、ありますでしょ?
- buriburi3
- ベストアンサー率44% (353/792)
rep1estiM[k2], rep2esti[esti] repky1esti[k2], repky2esti[esti] repky2estiM[k2], esti このカンマは何? こんな構文は無い。
お礼
ご回答ありがとうございました。
- asuncion
- ベストアンサー率33% (2127/6289)
> es1出力する式。 省略せずに、コードをそのまま見せてください。 > ransacmotion.cpp(354) : error C2059 ソースファイルの354行目はどの行ですか?
補足
別の方法でやってみたところ、エラーが出てこなくなったのですが、 repky1esti[esti]=repky1esti[k2] というのがおかしいのでしょうか? 後、ソースファイルを書き換えてしまって、354行目が分からなくなってしまいました。すみません。
お礼
ご回答ありがとうございました。