Getting errors stray ‘\342’ and ‘\200’ and ‘\214’

c++, g++, ubuntu

Solution

You are using a Zero Width Non Joiner character after the `>>` in your code. This is a Unicode character that is encoded in UTF-8 as three characters with values 0xE2, 0x80, and 0x8C (or in base 8, \342, \200, and \214). This probably happened because you copy and pasted some code from a document (HTML web page?) that uses those special characters.

The C++ language requires that the whole program uses mostly the ASCII encoding, except for the content of strings or character literals (that may be in a implementation-dependent encoding). So to fix your problem, make sure that you only use simple ASCII space, quotes, double quotes and not smart characters.

Problem

I'm trying to write a program for a simple game, but I am getting errors, stray ‘\342’ and ‘\200’ and ‘\214’, using g++ and gedit in Ubuntu 13.10 (Saucy Salamander). The code is: ``` #include <iostream> #include <cctype> using namespace std; char all_d() { return 'D'; } int main() { bool more = true; while ( more ) { cout << "enter C to cooperate, D to defect, Q to quit\n"; char player_choice; cin >>‌ player_choice; if ( player_choice != 'C' || player_choice != 'D' || player_choice != 'Q' ) { cout << "Illegal input.\nenter an other\n"; cin >> player_choice; } char cpu_choice = all_d(); cout << "player's choice is " << player_choice << endl; cout << "cpu's choice is " << cpu_choice << endl; } if ( player_choice == 'Q' ) { cout << "Game is Over!\n"; more = false; } } ``` and terminal output is: ``` IPD.cpp:18:3: error: stray ‘\342’ in program cin >>‌ player_choice; ^ IPD.cpp:18:3: error: stray ‘\200’ in program IPD.cpp:18:3: error: stray ‘\214’ in program IPD.cpp: In function ‘int main()’: IPD.cpp:29:47: error: ‘end’ was not declared in this scope cout << "cpu's choice is " << cpu_choice << end; ^ IPD.cpp:32:7: error: ‘player_choice’ was not declared in this scope if ( player_choice == 'Q' ) ^ ``` I even tried to to compile this: ``` #include <iostream> using namespace std; int main() { char a; cin >>‌ a; } ``` and the terminal again says: ``` a.cpp:8:2: error: stray ‘\342’ in program cin >>‌ a; ^ a.cpp:8:2: error: stray ‘\200’ in program a.cpp:8:2: error: stray ‘\214’ in program ``` How can I fix this? Note that I installed Ubuntu last night.

Original source

Related problems