چرا زمانی که کلاس رو بصورت const تعریف می کنم برنامه اجرا نمیشه ؟ - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

چرا زمانی که کلاس رو بصورت const تعریف می کنم برنامه اجرا نمیشه ؟

+2 امتیاز

کد زیر رو ببینید :

class A
{
public:
    void func()
    {}
};

int main()
{
    const A a;
    a.func();
}

 

من با این که داخل func هیچ عضوی از کلاس رو تغیر ندادم ولی باز هم کد بالا error میده ؟ چرا ؟؟

سوال شده اسفند 8, 1392  بوسیله ی Mlp_88 (امتیاز 29)   3 3
دوباره تگ گذاری شد مهر 9, 1393 بوسیله ی BlueBlade

1 پاسخ

+2 امتیاز
 
بهترین پاسخ

تابع عضو کلاس باید تکلیف خودشو مشخص کنید یا this را دستکاری نمی کنه که باید تابع به صورت زیر تعریف شه :

class A
{
public:
    void func() const
    {}
};
 

و یا this را دستکاری می کنه که در این صورت نمی تونید کلاس را به صورت ثابت تعریف کنید.

پاسخ داده شده اسفند 8, 1392 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
انتخاب شد اسفند 8, 1392 بوسیله ی Mlp_88
...