[C con Clase] Problemas con inline al linkar

Salvador Pozo salvador en conclase.net
Mar Sep 16 08:42:03 CEST 2008


El pasado 2008-09-14 22:06:21, Ferran Ferri escribió:
 
FF> Hola.

Hola:

FF> En una clase meti una funcion inline mediante el keywaord 'inline'. Esta
FF> funcion simplemente devuelve un booleano de la clase (atributo privado). En
FF> el fichero .h puse:
FF> inline bool IsApplicationRunning();
FF> Y en el .cpp puse:
FF> bool CApp::IsApplicationRunning()
FF> {
FF>     return m_bApplicationRunning;
FF> }
FF> El caso es que sin el inline compila perfectamente y definiendo la funcion
FF> dentro del .h (con lo que seria inline), tambien pero con el inline me da un
FF> error de linkaje (unresolved external symbol)
FF> Mi IDE es un VC++ 2005. Existe algun parametro del linkador/compilador que
FF> controla esto? O es algun problema generico de inline? Me dais alguna pista?

No puedo estar seguro sin ver el código que has usado, pero me da la impresión de que has cometido algún error en la definición de la función. Debería funcionar de ambas formas.

Si el error está en la fase de enlazado, probablemente hay un error, de modo que en lugar de una definición de función de la clase CApp, estás definiendo otra cosa. El compilador no se queja porque asume que estás definiendo un identificador externo (declarado en otro fichero fuente), pero el enlazador no encuentra ese identificador, y da un error.

Repasa las declaraciones, y si no encuentras en problema, envía parte del código.

Hasta pronto.

-- 
Salvador Pozo (Administrador)
mailto:salvador en conclase.net


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