我明白这reinterpret_cast很危险,我只是这样做来测试它.我有以下代码:
int x = 0;
double y = reinterpret_cast<double>(x);
Run Code Online (Sandbox Code Playgroud)
当我尝试编译程序时,它给我一个错误说
从'float'类型转换为'double'类型无效
这是怎么回事?我认为reinterpret_cast是你可以用来将苹果转换为潜艇的流氓演员,为什么这个简单的演员不会编译?
int i = 1000;
void *p = &i;
int *x = static_cast<int*>(p);
int *y = reinterpret_cast<int*>(p);
Run Code Online (Sandbox Code Playgroud)
哪个演员应该用来转换void*为int*和为什么?