xml*_*lmx 34 c++ pointers integer type-conversion reinterpret-cast
我的编译器是最新的VC++ 2013 RC.
void f()
{
int n1 = 0;
int n2 = reinterpret_cast<int>(n1); // error C2440
}
Run Code Online (Sandbox Code Playgroud)
错误C2440:'reinterpret_cast':无法从'int'转换为'int'
为什么在这种明显的情况下不能使用reinterpret_cast?
Sin*_*all 24
C++标准说(5.2.10.2)(强调我的):
reinterpret_cast运算符不应丢弃constness(5.2.11).可以将积分,枚举,指针或指向成员类型的表达式显式转换为其自己的类型 ; 这样的转换产生其操作数的值.
所以我说这是一个错误.