无法将 int 转换为 int c++

cannot convert int to int c++

我正在尝试在 C++ 中重载运算符“<<”。我有一个名为 TCalendario 的 class,具有 3 个 privates int 属性和 3 个 public getters 到 return 这个 public 模式下的变量,但是当我尝试将 getter 的 return 值保存在另一个 int 变量中,我无法编译。提示错误是:

"cannot convert 'TCalendario::Dia' from type 'int (TCalendario::)()' to type 'int'"

私有属性:

private:
int dia, mes, anyo

和getters:

int TCalendario::Dia()
{
    return dia;
}
int TCalendario::Mes()
{
    return mes;
}
int TCalendario::Anyo()
{
    return anyo;
}

我尝试编译时崩溃的代码是:

ostream& operator<<(ostream &x, TCalendario &c)
{
    int day=c.Dia;
    int month=c.Mes;
    int year=c.Anyo;
}

你在函数调用中错过了()

int day=c.Dia();
int month=c.Mes();
int year=c.Anyo();

为了调用不带参数的方法,您需要放入空大括号,如下所示:

int day=c.Dia();