Tengo una función legado que se parece a esto:Cómo llamar a una función no constante dentro de una función const (C++)
int Random() const
{
return var_ ? 4 : 0;
}
y tengo que llamar a una función dentro de ese código heredado de modo que ahora se ve así:
int Random() const
{
return var_ ? newCall(4) : 0;
}
El problema es que estoy recibiendo este error:
In member function 'virtual int Random() const':
class.cc:145: error: passing 'const int' as 'this' argument of 'int newCall(int)' discards qualifiers
Ahora conozco el fin de fijar Thi s error Puedo hacer que mi newCall()
sea una función const. Pero luego tengo varias llamadas de funciton en newCall()
que tengo que hacer, así que ahora tendría que hacer todas esas llamadas de función const. Y así sucesivamente hasta que finalmente siento que la mitad de mi programa va a ser const.
Mi pregunta: ¿hay alguna forma de llamar a una función dentro de Random() que no sea const? ¿O alguien tiene alguna idea sobre cómo implementar newCall()
dentro de Random()
sin hacer la mitad de mi programa const.
Gracias
-Josh
Puede hacer que Random() no const. – GWW
Me gustaría pero Random() es un código heredado que realmente no puedo tocar. – Grammin
Es ese 4 elegido con un dado imparcial (lo que lo hace realmente aleatorio). –