Buenas:
Recientemente me he encontrado con un problema al usar plantillas.
es un codigo de prueba:
//------------------------------------------------------ Main.cpp
#include <windows.h>
#include <stdio.h>
#include "templatea.h"
int APIENTRY WinMain(HINSTANCE hInst,HINSTANCE hPrev,LPSTR lp,int nShowCmd)
{
A < C > Prueba;
char s[100];
sprintf(s,"Valor %d",Prueba.Get());
MessageBox(0,s,0,0);
return 0;
}
//------------------------------------ TemplateA.h
#include "templateb.h"
template <class T>
class A
{
public:
T data;
int Get();
};
//------------------------------------ TemplateA.cpp
#include "templatea.h"
template <class T> int A<T>::Get() { return data.Get();}
Me da problemas al Linkar:
main.obj : error LNK2019: unresolved external symbol "public: int __thiscall A<class C>::Get(void)" (?Get@?$A@VC@@@@QAEHXZ) referenced in function _WinMain@16
Debug/TemplatePru.cpp.exe : fatal error LNK1120: 1 unresolved externals
he leido que hay que usar export en estos casos, pero si lo pongo el VS2003 me da error de sintaxis.
que puedo hacer para poder poner el codigo en los cpp?
Muchas Gracias por anticipado.