2 goooogle 8 goooogle_8 于 2015.06.07 01:17 提问

关于VC++6.0的min()和max()

center = std::min(std::max(0.0,center),1.0);
这句代码提示一下错误
'min' : is not a member of 'std'

按照网上各种方法改后还是不行。
改怎么改?????

4个回答

a1193561652
a1193561652   Rxr 2015.06.07 01:32
已采纳

错误信息是说在std里没有这个成员,不知道为什么我用VS2010试了没问题,或者你改成__max(),_cpp_max()试试,或者自己定义一个宏来实现。

a1193561652
a1193561652 回复goooogle_8: 看起来没问题,不过感觉好长,如果要经常使用还是定义一个宏方便点。
接近 3 年之前 回复
goooogle_8
goooogle_8 反正编译是通过了 就是不知道写法对不对
接近 3 年之前 回复
goooogle_8
goooogle_8 不用宏 直接写成这样行吗?
接近 3 年之前 回复
goooogle_8
goooogle_8 center=(double)((double)(0.0>center ? 0.0:center)<1.0 ? (double)(0.0>center ? 0.0:center):1.0 );
接近 3 年之前 回复
goooogle_8
goooogle_8 center=(double)((double)(0.0>center ? 0.0:center)<1.0 ? (double)(0.0>center ? 0.0:center):1.0 );
接近 3 年之前 回复
goooogle_8
goooogle_8 VS2010库里有min()和max(),VC++6.0没有
接近 3 年之前 回复
yangsd18118
yangsd18118   2015.06.07 02:00

'min' : is not a member of 'std' --> min不是std::命名空间里的成员

 #include<iostream>加了没?
std::min_element();
std::max_element();
或者
直接用 __max(a,b)  __min(a,b)

goooogle_8
goooogle_8 会出现新的错误error C2065: '_min' : undeclared identifier
接近 3 年之前 回复
guwei4037
guwei4037   Ds   Rxr 2015.06.07 08:06

在main函数上面加这个,#include。

goooogle_8
goooogle_8 加了
接近 3 年之前 回复
goooogle_8
goooogle_8 回复guwei4037:
接近 3 年之前 回复
guwei4037
guwei4037 加这个:#include<iostream>
接近 3 年之前 回复
u011988082
u011988082   2015.06.07 08:45

是不是你原来把min给重载了

goooogle_8
goooogle_8 vc++6.0没有min()
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!