ostream的c ++错误

时间:2014-06-20 18:19:23

标签: c++ ostream

您好我的代码中有关使用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;
}

我不确定如何解决这些错误。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

因为没有人发布正确的答案来证明这已经解决了

你的功能

void display(std::ostream& os) const;

应该返回要打印的内容;例如char *

char * display(std::ostream& os) const;

使用<<运算符时,您使用的函数toStrWithStyle应返回要在屏幕上打印的内容;所以关于任何基本类型至少会给你一个输出。在这种情况下,stringchar *会很好。