此问题已在此处有答案:
C compile errors: stray '\200' in program and expected ')' before numeric constant(4个答案)
7年前关闭。
当这一行不在注解中时:
double random_seed, participation_fee, ticket_revenue;
编译器产生以下错误:
main.cpp:24:2: error: stray ‘\200’ in program
main.cpp:24:2: error: stray ‘\254’ in program
main.cpp:24:2: error: stray ‘\342’ in program
main.cpp:24:2: error: stray ‘\200’ in program
main.cpp:24:2: error: stray ‘\254’ in program
我已经试过重新打这一行了。我使用Sublime Text作为文本编辑器。如何解决此问题?
这是整个函数:
void starting_game(vector<int>&players, vector<Player*> player_obj)
{
int id, x, y, number=0;
char pos;
double random_seed,participation_fee,ticket_revenue;
string input;
cin >> number;
for(int i = 0; i < number; i++)
{
cin >> id;
cin.ignore(4,' ');
cin >> x;
cin.ignore(2,':');
cin >> y;
cin.ignore(2,':');
cin >> pos;
players.push_back(find_put(id, player_obj, x, y, pos));
}
//cin>>random_seed;//>>participation_fee>>ticket_revenue;
}
1条答案
按热度按时间pgky5nke1#
你的代码中有不可见的字符,这些字符会阻止编译器正常工作,因为它无法处理它们。
在您的特定情况下,其中一个字符是U+202 c,使用UTF-8编码。它被称为“POP定向格式化”,并且是不可见的。
作为隐形人,解决这个问题很难。甚至问题中的代码也包含该字符。
要修复它,您可以执行以下操作:
script.py
的文本文件中,并使用python3
执行它。用法是
python3 script.py input output
。不要不要输入两次相同的名称,否则将无法工作,最终将得到一个空文件。在任何情况下,请在尝试此操作之前备份您的文件!在这种情况下,删除字符而不进行替换是正确的做法。在其他情况下(如proposed duplicate),用更合适的字符替换违规字符会更正确。这不是我们的问题。