0
void Ogrenci::ogr_dogum_tarihi_ayarla(int g,int a,int y) const
{
   dogum_tarihi.ay_ayarla(a);
   dogum_tarihi.gun_ayarla(g);
   dogum_tarihi.yil_ayarla(y);
}

这是我的 cpp 文件ogrenci.cpp

private:
     const Tarih dogum_tarihi;
public
     void ogr_dogum_tarihi_ayarla(int,int,int) const;

这是我的头文件ogrenci.h

void Tarih::gun_ayarla(int g)
{
    gun=g;
}

这是我的 cpp 文件中的内容tarih.cpp

private:
int gun;

这是我的 tarih.h 中的内容

我的问题是

ogrenci.cpp|36|error: passing 'const Tarih' as 'this' argument of 'void Tarih::ay_ayarla(int)' discards qualifiers|

我想做dogum_tarihiconst

有人可以帮助我吗?

4

1 回答 1

1

看来您正在对 const 对象调用非常量方法:

dogum_tarihi.ay_ayarla(a);

你不能那样做。要么使方法ay_ayarla(和其他方法)为常量,要么使对象可变。

于 2013-05-26T11:19:09.880 回答