模板函數min/max與Visual C++中的 min/max宏衝突

 錯誤輸出:函數

error C2589: 「(」: 「::」右邊的非法標記spa

error C2059: 語法錯誤 : 「::」code

錯誤緣由編譯

   函數模板max與Visual C++中的全局的宏max衝突。 模板

解決辦法class

    第一種辦法:語法

  設置項目屬性,在預約義處理器中添加定義NOMINMAX來禁止使用Vsual C++的min/max宏定義。error

 項目屬性   ——> C/C++ ——> 預處理器 ——> 預處理器定義 (此處添加預約義編譯開關   NOMINMAX)項目

 第二種辦法:co

加上括號,與Vsual C++的min/max宏定義區分開

xx = std::max(v1,v2);

 改成:

xx = (std::max)(v1,v2);
相關文章
相關標籤/搜索