最近碰到一个问题,VC中使用std::min和std::max的时候会报警告错误,因为windows的头文件中定义了这个2个同名的宏,一个解决方案是(std::min)(),见 Where is min/max?, 有谁清楚这种语法是标准语法嘛?就是为了解决函数名与宏冲突的问题?
楼上的方法没有回答我的问题啊。
引用 7 楼 supermegaboy 的回复:引用 楼主 Viper 的回复:最近碰到一个问题,VC中使用std::min和std::max的时候会报警告错误,因为windows的头文件中定义了这个2个同名的宏,一个解决方案是(std::min)(),见 Where is min/max?, 有谁清楚这种语法是标准语法嘛?就是为了解决函数名与宏冲突的问题? 这是区……
#define temp_min min #undef min std::min<int>(3, 4); #define min temp_min
引用 楼主 Viper 的回复:最近碰到一个问题,VC中使用std::min和std::max的时候会报警告错误,因为windows的头文件中定义了这个2个同名的宏,一个解决方案是(std::min)(),见 Where is min/max?, 有谁清楚这种语法是标准语法嘛?就是为了解决函数名与宏冲突的问题? 这是区分宏调用与函数调用的常用方法,是符合C/C++标……
65,186
社区成员
250,526
社区内容
加载中
试试用AI创作助手写篇文章吧