我试过这样做,但我做不到。我如何声明一些具有合法和非法名称的变量(例如 int double = 0;),以便您可以看到编译器的反应。
问问题
1035 次
1 回答
4
对此的简短回答是不要这样做。
C 和 C++ 标准中有许多保留字不应用于它们最初预期之外的任何目的。为了自己的不正当目的而竭尽全力回收这些东西会给很多人带来问题。当您必须修复错误时,其中一个人可能是您自己的未来。
如果您想将其double
用作变量名,实现此目的的最佳方法是成功向 C++ 委员会请求构建下一个标准以允许它。然后你将有一个有效的程序。
如果您想了解编译器在遇到此问题时的行为,请创建尽可能小的微型程序。例如:
// invalid_double.c
int double = 0;
尝试编译时,您会立即看到语法错误。根据需要对其他关键字重复。这通常是configure
运行测试以验证本地编译器的行为和功能之类的方式。
您的编译器可能会在第一次无效使用关键字时停止编译,因此您可能需要为每个实验构建一个文件。同一文件中的后续错误可能会被忽略,例如,如果您有int class = 0
于 2014-10-20T19:38:45.730 回答