我目前正在将一些类文件从我们的 Visual Studio 源环境移动到 Qt Creator(版本 3.4.2)。
我进行了一些更改以适应编译器中的差异(进入 MinGW)。令我困惑的一件事是 IDE 报告了一个特定的错误(红色下划线),但仍然可以正常编译。
我很确定这个问题与使用reinterpret_cast<T>
where T
is a global namespace 无关。
例如,以下行将在 IDE 中显示为不正确,但仍可编译:
::GetWindowThreadProcessId(window, reinterpret_cast<::LPDWORD>(&processId));
工具提示指出:
预期的 ';' 得到 ':'
如果我更改代码以::
从LPDWORD
语法中删除,突出显示就会消失。这在 IDE 中会很好:
::GetWindowThreadProcessId(window, reinterpret_cast<LPDWORD>(&processId));
我怀疑这是 IDE 中的错误。这是一个安全的假设吗?
我不打算更改使用全局命名空间的代码样式。