-1

私のC++の質問を見てくれてありがとう。

私が直面している問題があります。

私はこの形式で式を与えられました

Data  = [ (percentage / 15) – (var1 + var2)  / 20]  *  [ var3 +  var4];

この上記のステートメントを に入れると、次のようにコンパイルされます

sample.cpp:131:1: error: stray ‘\342’ in program
sample.cpp:131:1: error: stray ‘\200’ in program
sample.cpp:131:1: error: stray ‘\223’ in program
sample.cpp:131:81: error: ‘(percentage/ 15)’ cannot be used as a function

データ ステートメントを変更して C++ で式を機能させるにはどうすればよいですか

4

1 に答える 1

4

ここには 2 つの問題があります。

  1. [グループ化式に andを使用することはできません](それらをおよびに変更します)
  2. 使用しているマイナス記号は、実際にはダッシュ (Unicode 文字 U+2013) であり、使用すべき通常のハイフンとマイナス記号 (U+002D) ではありません。ソースファイル文字から基本的なソース文字セットへのマッピングは実装定義であり、コンパイラは en-dash をマイナス文字にマップしません (ほとんどのコンパイラのように、私は想像します)。

ここでのヒント: 特に他のドキュメントがコードではない場合は、ドキュメントからコードにテキストをコピーしないでください。

正しい表現は次のとおりです。

Data  = ((percentage / 15) - (var1 + var2) / 20) * (var3 + var4);

あなたが得ているエラーは、そこにあるべきではない 3 バイトが表示されていることを示しています。それらは (8 進数で): 342 200 223. バイナリでは、11100010 10000000 10010011. Google で簡単に検索すると、これが U+2013 のバイナリ表現であることがわかります。

于 2012-10-02T17:03:48.337 に答える