Windows.h と Std での Max マクロの衝突への対処
Windows.h には、min マクロと max マクロを定義する WinDef.h が含まれています。これは、std で定義されている max マクロと競合し、コンパイル エラーが発生する可能性があります。
この問題を解決するには、次の回避策を使用できます。
#define NOMINMAX #include <Windows.h> #include <iostream> using std::cin; using std::cout; void Foo() { int delay = 0; do { if (cin.fail()) { cin.clear(); cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); } cout << "Enter number of seconds between submissions: "; } while (!(cin >> delay) || delay == 0); }
NOMINMAX マクロを定義すると、 WinDef.h の min および max 定義を抑制し、競合することなく std の max マクロを使用できるようにします。
以上がWindows.h と std::max 間の最大マクロ衝突を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。