slash_x
Registrado: 31 Ene 2013 Mensajes: 1 Ubicación: Mexico
| Publicado: 31/01/2013 9:51 pm | | | Título: Error que no he podido solucionar sobre miembro static |
| Hola a todos!
Soy nuevo en el foro y principiante en c++.
El problema de mi programa es que me da un error y no me dice a que se debe, uso el Visual 2012.
Según leí buscando en google que tal vez se deba a que no inicialice el miembro static en el cpp, por que no se de que manera.
| Código: | static ListLig<TX> *FirsNod; |
intento hacer una clase para listas ligadas.
Error 1 error LNK2001: unresolved external symbol "public: static class RAX::ListLig<int> * RAX::ListLig<int>::FirsNod" (?FirsNod@?$ListLig@H@RAX@@2PAV12@A)
Aquí les dejo mi código:
| Código: | //clases.h #ifndef CLASES_H_INCLUDED #define CLASES_H_INCLUDED
namespace RAX{ template<class TX> class ListLig{ public: static ListLig<TX> *FirsNod; static int *NumNods; int NodID; TX *Dato; ListLig<TX> *sig; ListLig<TX> *ant; private: ListLig<TX> *Actual; public: ListLig(TX dat,ListLig<TX> *FNOD);//Constructor private: ListLig(ListLig<TX> *NodActual,TX dat);//Constructor public: ~ListLig();//Destructor }; }; #endif |
Y el cpp
| Código: | //clases.cpp //Metodos para mi clase #include "clases.h"
using namespace RAX;
//**************************Constructores************************** /*Este constructor se usa para iniciar la lista ligada*/ template<class TX> ListLig<TX>::ListLig(TX dat,ListLig<TX> *FNOD){ ListLig::Dato=&dat; ListLig::sig=0; ListLig::ant=0;
if(ListLig::FirsNod==0) { ListLig::NodID=0; }; ListLig::FirsNod=FNOD; ListLig::Actual=FNOD; } /*Este constructor se usa para crear nodos*/ template<class TX> ListLig<TX>::ListLig(ListLig<TX> *NodActual,TX dat){ ListLig::Dato=&dat; ListLig::sig=0; ListLig::ant=NodActual;
ListLig::NodID=ListLig::FirsNod->NodID+1; ListLig::NumNods=ListLig::FirsNod->NumNods+1;
} //**************************Destructores*************************** template<class TX> ListLig<TX>::~ListLig(){//Destructor } //*****************************Metodos***************************** // Declarar de esta forma "template<class TX> ListLig<TX>::" //***************************************************************** |
Gracias por su atención! |
|