能否在枚举内部重载输出运算符?如果我使用类,就不会出现各种错误:
../src/oop.cpp:18:2: error: expected identifier before 'friend'
../src/oop.cpp:18:2: error: expected '}' before 'friend'
../src/oop.cpp:18:2: error: 'friend' used outside of class
../src/oop.cpp:18:16: error: expected initializer before '&' token
../src/oop.cpp:22:1: error: expected declaration before '}' token
我希望您能够实现类似以下Java代码的功能:
```java ``` 请注意,本文中保留了HTML标签。
public enum Type {
ACOUSTIC, ELECTRIC;
public String toString() {
switch(this) {
case ACOUSTIC: return "acoustic";
case ELECTRIC: return "electric";
default: return "unspecified";
}
}
}
谢谢。 编辑:
enum Type {
//ACOUSTIC, ELECTRIC;
inline std::ostream& operator << (std::ostream& os, Type t) // error here
{
}
};