Qt Creator IDE 似乎错误地将 reinterpret_cast<::GlobalType> 标记为无效

Qt Creator IDE appears to be falsely marking reinterpret_cast<::GlobalType> as invalid

我目前正在将一些 class 文件从我们的 Visual Studio 源环境移动到 Qt Creator(版本 3.4.2)中。

我做了几处更改以适应编译器(到 MinGW)中的差异。让我感到困惑的一件事是 IDE 报告了一个特定的错误(红色下划线)但仍然可以正常编译。

我很确定问题与使用 reinterpret_cast<T> 无关,其中 T 是全局命名空间。

例如,以下行在 IDE 中将显示为不正确,但仍会编译:

::GetWindowThreadProcessId(window, reinterpret_cast<::LPDWORD>(&processId));

工具提示指出:

expected ';' got ':'

如果我更改代码以从 LPDWORD 中删除 ::,语法突出显示就会消失。这在 IDE:

中没问题
::GetWindowThreadProcessId(window, reinterpret_cast<LPDWORD>(&processId));

我怀疑这是 IDE 中的错误。这是一个安全的假设吗?

我不打算更改使用全局命名空间的代码风格。

感谢 lisyarus 的评论,我发现这实际上是 QT Creator 中的一个错误。已经有错误报告 here

正如我在问题中提到的,错误不会阻止您编译代码。如果您愿意,可以在 <:: 之间添加一个 space。