每当我用负数进行比较时,GCC都会显示以下信息:

error: stray '\342' in program
   if ( -4 < ÔÇô3 ) return 1;
   ^
compilation terminated due to -Wfatal-errors.

码:
int main() {
  if ( -4 < –3 ) return 1;
  return 0;
}

最佳答案

数字3之前的破折号是Unicode字符,看起来像破折号。删除它,然后插入一个新的破折号,就可以了。

如果您使用复制粘贴,则要当心,因为粘贴的代码可能包含Unicode字符,这可能会导致这样的编译错误。

如果您是在编辑器中手动键入的,请使用其他编辑器或更改编辑器的设置,以免将标准连字符转换为其他字符。例如。 Microsoft Word会进行此转换,但我希望您不要在Word中编写代码。

错误消息的说明:

您已将文件保存为UTF-8字符集。您使用的更改后的连字符将保存为三个连续的字节:0xE2 0x80 0x93(六个值)

g++逐字节分析文件。它首先遇到0xE2,然后将其视为无效并输出error: stray '\342' in program3420xE2的八进制表示形式。 \342是有效的C++代码,它是0xE2字符的转义版本。有关详细信息,请参见C++ escape sequences\nnn表示由八进制nnn号表示的字符。

关于c++ - 与负数进行比较时在程序中出现 '\342',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24101120/

10-17 00:37