无法将int转换为int c ++

时间:2015-03-08 09:15:43

标签: c++ int

我试图重载运营商"<<"在c ++中。我有一个名为TCalendario的类,有3个私有int属性,3个公共getter在公共模式下返回这个变量,但是当我尝试将getter的返回值保存在另一个int变量中时,我无法编译。测试错误是:

"无法转换' TCalendario :: Dia'来自type' int(TCalendario ::)()'输入' int'"

私人属性:

private:
int dia, mes, anyo

吸气鬼:

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;
}

2 个答案:

答案 0 :(得分:0)

您错过了函数调用中的()

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

答案 1 :(得分:0)

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

int day=c.Dia();