我正在尝试在我的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”它可以正常工作。尝试使用任何类型的具有恒定大小的字符串时会出现问题。
出了什么问题?