/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Error que no he podido solucionar sobre miembro static

 
      Índice del Foro elrincondelc.com -> C/C++ en General
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
slash_x



Registrado: 31 Ene 2013
Mensajes: 1
Ubicación: Mexico

MensajePublicado: 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!
Volver arriba
      Índice del Foro elrincondelc.com -> C/C++ en General
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com