您好我的代码中有关使用ostream对象的函数的错误。
EAN.cpp:151:54: error: no match for âoperator<<â in â(& std::operator<< [with _CharT = char,
_Traits = std::char_traits<char>]((* & os),
std::setw(17)))->std::basic_ostream<_CharT,
_Traits>::operator<< [with _CharT = char, _Traits = std::char_traits<char>,
std::basic_ostream<_CharT,
_Traits>::__ostream_type = std::basic_ostream<char>](std::right) << EAN::toStrWithStyle(((char*)(& outputEAN)))â
这是头文件中的成员函数原型:
void display(std::ostream& os) const;
以下是问题的功能:
void EAN::display(std::ostream& os) const
{
char outputEAN[17];
os << setw(17) << right << toStrWithStyle(outputEAN) << endl;
}
我不确定如何解决这些错误。任何帮助将不胜感激!
答案 0 :(得分:0)
因为没有人发布正确的答案来证明这已经解决了
你的功能
void display(std::ostream& os) const;
应该返回要打印的内容;例如char *
char * display(std::ostream& os) const;
使用<<
运算符时,您使用的函数toStrWithStyle
应返回要在屏幕上打印的内容;所以关于任何基本类型至少会给你一个输出。在这种情况下,string
或char *
会很好。