为什么cout不能输出?
#definemymax(a,b)(a)>(b)?(a):(b)为什么cout<<mymax(a,b);不能输出而printf("%d",mymax(a,b));可以?...
#define mymax(a,b) (a)>(b)?(a):(b)
为什么cout<<mymax(a,b);不能输出
而printf("%d",mymax(a,b));可以? 展开
为什么cout<<mymax(a,b);不能输出
而printf("%d",mymax(a,b));可以? 展开
1个回答
展开全部
首先你是用的是C++,嘛这一点不应该出错
cout是C++中的流输入输出中的流输出,隶属于命名空间std,看下你是否没有using std::cout,不声明这个命名空间的话,cout是不能直接使用的。
而printf当然可以啦,因为printf不需要这个命名空间即可使用。C++又兼容C
也就是说你需要:
//提前声明
using std::cout
cout << mymax(a,b);
追问
有的,应该不是这个问题
main.cpp|16|error: no match for 'operator>' in 'std::cout.std::basic_ostream::operator >(a) > b'|
这是错误提示
追答
这样,:和?的优先级低于<<
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询