鉴于代码:
#include <iostream>
typedef int Integer;
Integer Integer = 1234;
int main() {
std::cout << "Integer: " << Integer;
}
Run Code Online (Sandbox Code Playgroud)
使用gcc 11.2 编译器编译代码会导致编译错误:
error: 'Integer Integer' redeclared as different kind of entity
4 | Integer Integer = 1234;
| ^~~~~~~
note: previous declaration 'typedef int Integer'
3 | typedef int Integer;
| ^~~~~~~
In function 'int main()':
error: expected primary-expression before ';' token
7 | std::cout << "Integer: " << Integer;
| ^
Run Code Online (Sandbox Code Playgroud)
但是,将代码更改为:
error: 'Integer Integer' redeclared as …Run Code Online (Sandbox Code Playgroud)