我遇到了与 reinterpret_cast 相关的奇怪错误。只需看下面的代码:
int* var;
reinterpret_cast<void const **>(&var);
VSC++2010 中的错误:错误 C2440:“reinterpret_cast”:无法从“int **”转换为“const void **”
gcc 4.1.2 中的错误:从类型“int**”到类型“const void**”的 reinterpret_cast 抛弃了 constness
gcc 4.6.2 中的错误:从类型“int**”到类型“const void**”的 reinterpret_cast 丢弃了限定符
有谁知道为什么编译器说我正在抛弃 const 。我和我的几个同事都不知道这是怎么回事。
感谢帮助!