

これを正しくしたい教えて

[code]

    #include <bits/stdc++.h>
    using namespace std;
    
    int main() {
      // ここにプログラムを追記
      int A,B;
      cin >> A >> B;
      cout << 0 ∔ 50/50 << end~~~1;
    }
    
[/code]

これだと下のようなコンパイルエラーが出る

[code]

    ./Main.cpp:8:13: error: stray ‘\342’ in program
        8 |   cout << 0 ∔ 50/50 << end~~~1;
          |             ^
    ./Main.cpp:8:14: error: stray ‘\210’ in program
        8 |   cout << 0 ∔ 50/50 << end~~~1;
          |              ^
    ./Main.cpp:8:15: error: stray ‘\224’ in program
        8 |   cout << 0 ∔ 50/50 << end~~~1;
          |               ^
    ./Main.cpp: In function ‘int main()’:
    ./Main.cpp:8:12: error: expected ‘;’ before numeric constant
        8 |   cout << 0 ∔ 50/50 << end~~~1;
          |            ^    ~~
          |            ;
    
[/code]

お願いします  
教えて  
<https://atcoder.jp/contests/apg4b/submissions/15200814>


CC BY-SA 4.0
2020-07-12T08:01:30.737
68515
2020-07-13T06:06:36.517
2020-07-12T08:44:52.930
3060
41063
question
c++
c∔∔で｛error: expected ‘;’ before numeric constant｝というエラーがでるのはなぜ


[「stray ‘\342」および「stray ‘\200」に言及するコンパイルエラーを修正する方法](https://www.it-swarm-
ja.tech/ja/compiling/%E3%80%8Cstray-%E2%80%99-342%E3%80%8D%E3%81%8A%E3%82%88%E3%81%B3%E3%80%8Cstray%E2%80%99-200%E3%80%8D%E3%81%AB%E8%A8%80%E5%8F%8A%E3%81%99%E3%82%8B%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%AB%E3%82%A8%E3%83%A9%E3%83%BC%E3%82%92%E4%BF%AE%E6%AD%A3%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/961548681/)の記事と同じエラーですので、原因はunicodeの記号が混入したからだと思われます。

エラーメッセージを注意深く見ると ‘\342’
で使われているのは、ASCIIのシングルクオートではありません。左側は下から上に向かう点、右側は上から下に向かう点、のような感じの記号です。

Windowsにプリインストールされている「メモ帳」などのテキストエディタでプログラムをASCII文字で書いて、それをソースコード欄にコピー＆ペーストすると、改善するのではないかと思われます。

C++で、coutに出力するコードは

[code]

    cout << "Hello world" << std::endl;
    
[/code]

のように書きます。  
質問のコードに出てくる"end~~~1"は、何を意図しているのでしょうか？


CC BY-SA 4.0
2020-07-12T09:05:31.053
68517
2020-07-12T09:05:31.053
217
68515
answer


何か奇妙なことが起こっていて、打っている文字がいくつかおかしな文字になっています。たとえば `+` が `∔` になっています（この違いが見えていますか？）

この質問のタイトルに書かれている「C++」の部分もおかしいので私の環境でのスクリーンショットを置いておきます：

[![+の上に点がある記号が打たれている様子のスクリーンショットです](https://i.stack.imgur.com/6Rpdy.png)](https://i.stack.imgur.com/6Rpdy.png)

ご自身がどうやってプログラムを入力されているか、方法を確認してみてください。質問者さんの環境が分からないので曖昧な回答になってしまいますが、たとえば PDF
からコピー＆ペーストするとこのような間違いが起こるかもしれません（PDF
のファイルや開かれ方によっては画像から文字を自動認識してコピーするためです）。ご自身でキーボードからプログラムを打ち込んでも同じエラーが起きるか試してみてください。


CC BY-SA 4.0
2020-07-12T11:03:19.653
68523
2020-07-12T11:03:19.653
19110
68515
answer


提示ソースコード中の `∔` は、よく見ると上にドットがついているプラス文字です。これは `U+2214` ユニコード文字 `DOT PLUS` なのですが
[c](/questions/tagged/c "'c' のタグが付いた質問を表示") / [c++](/questions/tagged/c%2b%2b
"'c++' のタグが付いた質問を表示") とも、加算は `+` つまり `U+002B` ユニコード文字 `PLUS SIGN`
のみ受け付けるという仕様で、よって `U+2214` 文字は受け付けてくれません。

さて、この `U+2214` 文字を `UTF-8` エンコーディングすると `E2 88 94` となります。エラーメッセージ中 `\342` は
`E2` を８進数表記したもの、同様 `\210` は `88` の８進数表記 `\224` は `94`
の８進数表記です。つまりあなたのお使いのコンパイラは ([gcc](/questions/tagged/gcc "'gcc' のタグが付いた質問を表示")
であると推定されます) は `U+2214` 文字の `UTF-8` 表記 `E2 88 94` に対して律義に１バイトづつエラーを発しているわけです。

ではどう直せばよいかというと、既に回答はついていますが `U+2214` 文字を `U+002B` 文字に置換してください。つまりは IME を OFF
にして俗にいう [半角のプラス] 文字にします。この分量なら再度入力しなおすだけでも十分でしょう。

`end~~~1` のほうもおかしいので `endl` (End of Line で `endl`) にする必要があります。

まあもっというと `<bits/stdc++.h>`
自体がおかしいのですが設問サイトのほうの回答例のスケルトンになってしまっている様子。設問サイトのほうに０点を差し上げたうえで、オイラ的には見なかったことにします。


CC BY-SA 4.0
2020-07-13T06:06:36.517
68545
2020-07-13T06:06:36.517
8589
68515
answer