C/Visual C - exportar clase con template.

 
Vista:

exportar clase con template.

Publicado por fernando.gomez (1603 intervenciones) el 23/08/2004 19:25:40
Saludos. Tengo un código similar al abajo presentado:

class __declspec(dllexport) ISimpleTable
{
public:
// etcetera, todas son funciones virtualmente puras
};

y en una clase, tengo lo siguiente:

using namespace std;

class __declspec(dllexport) SimpleTableCollection
{
private:
list<ISimpleTable*> m_lstTables;

// etcétera
};

Como se podrá notar, mi programa es una librería de enlace dinámico, y estoy exportando esta clase e interfaz. Sin embargo, al compilar, en la declaración del miembro m_lstTables de la clase, me aparece el siguiente mensaje de advertencia:

warning C4251: 'm_lstTables' : class 'std::list<class ISimpleTable *,class std::allocator<ISimpleTable *> >' needs to have dll-interface to be used by clients of class 'SimpleTableCollection'.

Investigué en MSDN, y la ayuda me dice que "The specified base class was not declared with the __declspec(dllexport) keyword", la base clase especificada no fué declarada con la palabra clave __declspec(dllexport).

Sin embargo, no entiendo, ya que no estoy derivando ninguna clase... Espero alguien me pueda ayudar. Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder