class A { int n; public: A(int a){ func(a); } // 非 const 関数 int func(int a) { return n = a; } }; int main() { A a = 0; // OK const A aa = 9; // OK return 0; }
const なオブジェクトでも、コンストラクタ内であれば、非constな関数が呼べるんですねー。ちょっと発見でした。
…が、考えてみれば、コンストラクタ内で既に this が const だったら、何も値が初期化できませんわなぁ。