現在、多くのクラス ファイルを Visual Studio ソース環境から Qt Creator (バージョン 3.4.2) に移動中です。
コンパイラ (MinGW 内) の違いに対応するために、いくつかの変更を加えました。私を困惑させていることの 1 つは、IDE が特定のエラー (赤い下線) を報告しているにもかかわらず、正常にコンパイルされることです。
この問題は、グローバル名前空間の使用reinterpret_cast<T>
に切り分けられていると確信しています。T
たとえば、次の行は IDE では正しくないと表示されますが、コンパイルは可能です。
::GetWindowThreadProcessId(window, reinterpret_cast<::LPDWORD>(&processId));
ツールチップには次のように記載されています。
期待される ';' ':' を取得しました
::
コードを変更して構文から削除するとLPDWORD
、強調表示が消えます。これは IDE で問題ありません。
::GetWindowThreadProcessId(window, reinterpret_cast<LPDWORD>(&processId));
これは IDE のバグだと思います。これは安全な仮定ですか?
グローバル名前空間を使用するためにコード スタイルを変更する予定はありません。