標題說全部不能使用`cout`。我在互聯網上的每個人都說超載運營商< <,但我仍然爲一個無效的運營商得到了這個愚蠢的錯誤。我做錯了什麼?這裏是我的代碼:即使我超載`運營商<<`
#include <iostream>
#include <cstdio>
using namespace std;
class Calc {
private:
union _Print_Datatypes {
int I;
double D;
string S;
char C;
};
public:
int i;
void Sum(long double _a, long double _b) {
return _a + _b;
}
void Sub(long double _a, long double _b) {
return _a - _b;
}
void Div(long double _a, long double _b) {
return _a/_b;
}
void Mult(long double _a, long double _b) {
return _a * _b;
}
};
std::ostream &operator<<(std::ostream &os, Calc const &m) {
return os << m.i;
}
int main() {
Calc _calc;
cout << _calc.Sum(2,2);
}
你得到了什麼確切的錯誤? – NathanOliver
總和成員函數的返回類型是什麼...? ;) –
... \ main.cpp | 42 |錯誤:'operator <<'不匹配(操作數類型是'std :: ostream {aka std :: basic_ostream}'和'void')| –