注册 登录
编程论坛 C++教室

如何在定义了max()宏的条件下,调用valarray封装的max()函数

lsrwan 发布于 2010-05-13 21:12, 1087 次点击
在程序中调用valarray对象的max函数如下valarray<float> a(3); a[0] = 1;a[1] =2;a[2] = 3;
float fmax = a.max();
以上代码发现无法编译通过,后来发现是由于 c++定义了max宏,问各位针对这种情况如何解决。
修改为float fmax = std::a.max();也不可以。
1 回复
#2
lsrwan2010-05-14 22:16
还是我自己给答案吧,后来想出了个办法
#ifdef max
#undef max
fmax = a.max()
#endif
即可。
1