私は次のようなレガシー関数を持っています:
int Random() const
{
return var_ ? 4 : 0;
}
そして、そのレガシーコード内で関数を呼び出して、次のようにする必要があります。
int Random() const
{
return var_ ? newCall(4) : 0;
}
問題は、このエラーが発生することです。
In member function 'virtual int Random() const':
class.cc:145: error: passing 'const int' as 'this' argument of 'int newCall(int)' discards qualifiers
newCall()
これで、このエラーを修正するために、const関数を作成できることがわかりました。しかし、その後、いくつかnewCall()
の関数呼び出しを行う必要があるため、これらの関数呼び出しをすべてconstにする必要があります。などなど、最終的にはプログラムの半分がconstになるように感じます。
私の質問:constではないRandom()内の関数を呼び出す方法はありますか?または、私のプログラムの半分をconstにすることなく、 newCall()
内部で実装する方法について誰かがアイデアを持っていますか?Random()
ありがとう
-ジョシュ