如何將std::min/max 與#define NOMINMAX 結合使用
要使用標準函式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 時都需要將它們括起來。但是,這是針對此特定問題的解決方法。
以上是如何將 std::min/max 與 #define NOMINMAX 一起使用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!