<div>Hola,<br></div><div><br></div><div>Estoy teniendo un problema al hacer un set desde un método constante. Pongamos que tengo este método constante:</div><div><br></div><div>void myClass::doSomething(const myObjectType &myObject) const</div>
<div>{</div><div> ...</div><div> other->setMember(myObject.getMember()); // getMember() tiene este prototipo: myOtherObjectType* getMember() const;</div><div> ...</div><div>}</div><div><br></div><div>void myOtherClass::setMember(const myOtherObjectType* myOtherObject)</div>
<div>{</div><div> ...</div><div> m_ myOtherObject
= myOtherObject; // La definición de m_ myOtherObject es: const myOtherObjectType*
m_ myOtherObject
; </div><div> ...</div><div>}</div><div><br></div><div>El error es el siguiente:</div><div><br></div><div>In member function 'void myClass::doSomething(const myObjectType &myObject) const':<br>C:\project\src\MyClass.cpp:89: error: passing 'const myOtherClass' as 'this' argument of 'void myOtherClass::setMember(const myOtherObjectType *)' discards qualifiers</div>
<div><br></div><div>Parece que todos los tipos, de origen y destino coinciden. ¿Por qué me aparece ese error? ¿Cómo lo puedo solucionar?</div><div><br></div><div>Muchas gracias.</div><div><br></div><div><br></div>