#define NOMINMAX で std::min/max を使用する方法
標準ライブラリ関数 std::max および std を使用するには: :min マクロ NOMINMAX を定義するときは、次に従ってください。手順:
1. std::min/max が使用されるすべてのファイルで NOMINMAX を定義する
マクロを確実に有効にするには、std::max および std を使用するすべてのファイルで #define NOMINMAX を定義する必要があります。 :分これにより、Windows の組み込みの max および min 関数との衝突が防止されます。
2.括弧を使用してマクロ展開をバイパスする
NOMINMAX は、std::min と std::max をマクロとして定義します。前述のエラーが発生した場合は、プリプロセッサがこれらの関数をマクロとして解釈していることを意味します。これを回避するには、関数名を括弧で囲みます。
(std::min)(x, y); // For std::min (std::max)(x, y); // For std::max
関数名を括弧で囲むことにより、プリプロセッサはそれらをマクロ展開ではなく関数呼び出しとして扱います。
注: この解決策は、std::min と std::max を使用するたびに括弧で囲む必要があるため、多少不便です。ただし、これはこの特定の問題の回避策です。
以上が#define NOMINMAX で std::min/max を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。