3

私のコードでは

#define NOMINMAX
#include <windows.h>

しかし、コンパイラがそれについて文句を言わなくても、私が使用するstd::maxstd::minインテリセンスが red で行に下線を引くときはいつでも。コードを次のように変更すると

#define NOMINMAX
#include <windows.h>

// make sure they min/max weren't defined
#if defined(min) || defined(max)
#error "min or max were defined"
#endif

// but intellisense still thinks they were, 
// so this is needed
#undef min
#undef max

問題は消えます。しかし、定義すると最小/最大の定義NOMINMAXが妨げwindows.hられるので、インテリセンスは定義されていないのに定義されたと考えるのはなぜですか? そして、私がチェックしたところ、私が追加したプリプロセッサエラーは決してヒットしません。

4

1 に答える 1

2

実際、私はそれをアンインストールしませんでした。追加すると、インデクサーを整理するのに役立ちますDEFINES+=NOMINMAX

...そして、プロジェクトを閉じてから再度開きます。QtCreator は .pro ファイルを変更するたびに「解析中」と通知しましたが、すぐには効果がありませんでした。プロジェクトを再度開くと、「解析」が改善されるようです

QtCreator のバージョンは 2.6.1 で、Qt5.0.0 を使用しています

于 2013-02-22T09:34:46.690 に答える