【发布时间】:2015-10-10 14:47:26
【问题描述】:
我有如下代码(其实比较长,我只是把报错的部分放上去)
//Header class
enum class Color{
Rouge, Bleu, Vert
};
class Bike{
Color _color;
Bike (Color color): _color(color){
}
void print() const;
}
//Cpp file (assume all inclusions are done properly)
void Bike::print() const{
std::cout<<_color;
}
//Main
main(){
Color couleur (Color::Rouge);
Bike obj(couleur);
obj.print()
}
所以在我打印颜色 (std::cout<<_color;) 之前,其他一切都可以正常工作。我以错误的方式使用enum?为什么我不能打印那种颜色?
错误代码
[Error] initializing argument 1 of 'std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&&, const _Tp&) [with _CharT = char; _Traits = std::char_traits<char>; _Tp = Color]'
【问题讨论】:
-
如果您包含编译器抛出的实际错误消息,这将很有用。
-
这里已经有人解释过了stackoverflow.com/a/11421471/5420624