ostream运算符重载<<没有为const char []定义?

时间:2015-11-17 13:15:16

标签: c++ printing operator-overloading ostream

我正在尝试在我的C ++项目中打印一个Movie类,以便接受以下语法: -

Movie movie;
cout << movie;

在实施&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;操作符重载ostream和Movie,发生错误。

我的代码:

ostream& operator<<(ostream& os, const Movie& movie){
    os << movie.getName() << "\n" << movie.getRating();
    return os;
}

错误:

no match for ‘operator<<’ (operand types are ‘std::basic_ostream<char>’ and ‘const char [2]’)

方法getName()和getRating()返回字符串和int,当单独使用它们时没有“\ n”它可以正常工作。尝试使用任何类型的具有恒定大小的字符串时会出现问题。

出了什么问题?

0 个答案:

没有答案