IDE Qt Creator, по-видимому, ошибочно помечает reinterpret_cast & lt; :: GlobalType & gt; как недействительный

В настоящее время я в процессе переноса ряда файлов классов из нашей исходной среды Visual Studio в Qt Creator (версия 3.4.2).

Я сделал несколько изменений, чтобы учесть различия в компиляторе (в MinGW). Одна вещь, которая озадачивает меня, состоит в том, что IDE сообщает об определенной ошибке (красное подчеркивание), но все еще хорошо компилируется.

Я уверен, что проблема связана с использованием reinterpret_cast<T> где T это глобальное пространство имен.

Например, следующая строка будет отображаться как некорректная в IDE, но все равно будет компилироваться:

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

Подсказка гласит:

ожидаемый ‘;’ получил ‘:’

Если я изменю код для удаления :: от LPDWORD подсветка синтаксиса исчезает. Это будет хорошо в IDE:

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

Я подозреваю, что это ошибка в IDE. Это безопасное предположение?

Я не планирую менять стиль кода для использования глобального пространства имен.

2

Решение

Благодаря комментарию Лисяруса, я смог обнаружить, что это действительно ошибка в QT Creator. Уже есть сообщение об ошибке Вот.

Как я уже упоминал в этом вопросе, ошибка не мешает вам компилировать код. Вы можете, если хотите, добавить пробел между < а также ::,

0

Другие решения


По вопросам рекламы [email protected]