error:no match for 'operator<<'(operand types are 'std::basic_ostream_<char>' and '<unresolved overloaded funcation type>')
C++编译报这个错,是没有匹配的运算符,这个时候基本就是两种情况:一种是你的运算符头文件没有链接进来,一种是你自己的参数不对。
我将自己的代码贴上来:
std::cout<<"The volume of a[0] is:"<<a[0].volume<<std::endl;
其中volume是我定义的一个函数:
int volume(){return height};
当时反复检查输出觉得没有错误,后来定睛一看,函数的括号没有写,正确的写法应该是这样的:
std::cout<<"The volume of a[0] is:"<<a[0].volume()<<std::endl;
这个错误还算比较明显吧,但是当时自己也看了几分钟没找出来,放在这里给自己提个醒,写代码一定要细心。