Я немного новичок в C ++, и у меня возникла эта проблема, когда я узнал об этом
Итак, я создал этот класс
class A {
int num;
public:
//constructor
A(int num) {
this->num = num;
}
int getNum() {
return num;
}
//overload <<
friend ostream& operator << (ostream& os,A& a) {
os << a.getNum();
return os;
}
};
В основной функции, если я использую cout<< A(1);
, она компилируется неправильно (код C2679 в Visual Studio 2017).
Как я могу сделать это как cout<< int(1);
? Нужно ли перегрузить любого другого оператора?