[C con Clase] passing 'const ...' as 'this' argument of 'void ...' discards qualifiers

User usuarioanonimomysql en gmail.com
Lun Mayo 14 23:21:13 CEST 2012


Hola,

Estoy teniendo un problema al hacer un set desde un método constante.
Pongamos que tengo este método constante:

void myClass::doSomething(const myObjectType &myObject) const
{
    ...
    other->setMember(myObject.getMember()); // getMember() tiene este
prototipo: myOtherObjectType* getMember() const;
    ...
}

void myOtherClass::setMember(const myOtherObjectType* myOtherObject)
{
    ...
     m_ myOtherObject  = myOtherObject; // La definición de  m_
myOtherObject es: const myOtherObjectType*     m_ myOtherObject ;
    ...
}

El error es el siguiente:

In member function 'void myClass::doSomething(const myObjectType &myObject)
const':
C:\project\src\MyClass.cpp:89: error: passing 'const myOtherClass' as
'this' argument of 'void  myOtherClass::setMember(const myOtherObjectType
*)' discards qualifiers

Parece que todos los tipos, de origen y destino coinciden. ¿Por qué me
aparece ese error? ¿Cómo lo puedo solucionar?

Muchas gracias.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20120514/5e38bb1f/attachment.html>


Más información sobre la lista de distribución Cconclase