2

重複の可能性:
Xcode で、プログラム内の浮遊 '\342' を処理する 3 つの構文エラーが発生する

if(mGamma[i−1][j] == min(mGamma[i − 1][j], mGamma[i][j − 1], mGamma[i − 1][j − 1]))

上記の行で次のエラーが表示されます。

/home/rajat/iCub/tutorials/src/vectordtw.h:91:3: error: stray ‘\210’ in program
/home/rajat/iCub/tutorials/src/vectordtw.h:91:3: error: stray ‘\222’ in program
/home/rajat/iCub/tutorials/src/vectordtw.h:91:3: error: stray ‘\342’ in program
/home/rajat/iCub/tutorials/src/vectordtw.h:91:3: error: stray ‘\210’ in program
/home/rajat/iCub/tutorials/src/vectordtw.h:91:3: error: stray ‘\222’ in program
/home/rajat/iCub/tutorials/src/vectordtw.h:91:3: error: stray ‘\342’ in program
/home/rajat/iCub/tutorials/src/vectordtw.h:91:3: error: stray ‘\210’ in program
/home/rajat/iCub/tutorials/src/vectordtw.h:91:3: error: stray ‘\222’ in program
/home/rajat/iCub/tutorials/src/vectordtw.h:91:3: error: stray ‘\342’ in program
/home/rajat/iCub/tutorials/src/vectordtw.h:91:3: error: stray ‘\210’ in program
/home/rajat/iCub/tutorials/src/vectordtw.h:91:3: error: stray ‘\222’ in program
/home/rajat/iCub/tutorials/src/vectordtw.h:91:3: error: stray ‘\342’ in program
/home/rajat/iCub/tutorials/src/vectordtw.h:91:3: error: stray ‘\210’ in program
/home/rajat/iCub/tutorials/src/vectordtw.h:91:3: error: stray ‘\222’ in program

mGamma は次のように定義されvector<vector<double> > mGammamin関数は 3 つの値を取り、最小値を返します。これらのエラーはどこから来て、どうすれば取り除くことができますか?

4

1 に答える 1

4

このエラー メッセージは、コンパイラが理解できる文字に対応しないバイトがファイルにあることを意味するため、8 進値を出力し、これが有効な C(++) プログラムではない可能性があることを伝えています。

あなたが示すバイトシーケンスは、U + 2212 MINUS SIGNのUTF-8エンコーディングのようです。これは、「適切な」Unicode テキストのマイナス記号に使用する「適切な」文字であるにもかかわらず (PDF からそのようにコピーする理由です)、C ファミリの「基本的なソース文字セット」は ASCII 中心のままです。これらのマイナス記号をそれぞれ U+002D HYPHEN-MINUS に置き換える必要があります。通常入力するように、それぞれにマイナス記号を付けて入力すると、うまくいくはずです。

于 2012-11-05T00:48:29.907 に答える