Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

error LNK2028 i LNK2019

Ostatnio zmodyfikowano 2013-03-22 20:30
Autor Wiadomość
Oraliza
Temat założony przez niniejszego użytkownika
error LNK2028 i LNK2019
» 2013-03-22 14:15:07
Witam wszystkich.
Podczas kompilacji programu dostaję następujące błędy:


1>Poziom.obj : error LNK2028: unresolved token (0A00000B) "public: __clrcall Lista<class Skala>::~Lista<class Skala>(void)" (??1?$Lista@VSkala@@@@$$FQAM@XZ) referenced in function "public: __clrcall Poziom::~Poziom(void)" (??1Poziom@@$$FQAM@XZ)

1>Poziom.obj : error LNK2028: unresolved token (0A00000C) "public: __clrcall Lista<class Roslina>::~Lista<class Roslina>(void)" (??1?$Lista@VRoslina@@@@$$FQAM@XZ) referenced in function "public: __clrcall Poziom::~Poziom(void)" (??1Poziom@@$$FQAM@XZ)

1>Poziom.obj : error LNK2028: unresolved token (0A00000D) "public: __clrcall Lista<class Przejscie>::~Lista<class Przejscie>(void)" (??1?$Lista@VPrzejscie@@@@$$FQAM@XZ) referenced in function "public: __clrcall Poziom::~Poziom(void)" (??1Poziom@@$$FQAM@XZ)

1>Poziom.obj : error LNK2019: unresolved external symbol "public: __clrcall Lista<class Przejscie>::~Lista<class Przejscie>(void)" (??1?$Lista@VPrzejscie@@@@$$FQAM@XZ) referenced in function "public: __clrcall Poziom::~Poziom(void)" (??1Poziom@@$$FQAM@XZ)

1>Poziom.obj : error LNK2019: unresolved external symbol "public: __clrcall Lista<class Roslina>::~Lista<class Roslina>(void)" (??1?$Lista@VRoslina@@@@$$FQAM@XZ) referenced in function "public: __clrcall Poziom::~Poziom(void)" (??1Poziom@@$$FQAM@XZ)

1>Poziom.obj : error LNK2019: unresolved external symbol "public: __clrcall Lista<class Skala>::~Lista<class Skala>(void)" (??1?$Lista@VSkala@@@@$$FQAM@XZ) referenced in function "public: __clrcall Poziom::~Poziom(void)" (??1Poziom@@$$FQAM@XZ)

1>C:\Documents and Settings\Bartosz Tatarski\Pulpit\Gra rpg\EdytorMapy\Debug\EdytorMapy.exe : fatal error LNK1120: 6 unresolved externals

A oto kod, którego dotyczą błędy:

C/C++
#pragma once

#include "Objekt.h"

template < class TYP > class Lista {
private:
    int rozmiar;
    TYP * tablica;
public:
    Lista( void )
        : rozmiar( 0 )
        , tablica( 0 )
    { }
    ~Lista( void );
   
    bool add( const TYP & p );
    int size() const { return rozmiar; }
    bool isEmpty();
    void clear();
    TYP get( int index ) const { return tablica[ indeks ]; }
    bool contains( const TYP & p );
    int indexOf( const TYP & p );
    bool remove( const TYP & p );
    bool remove( int index );
    void set( int index, const TYP & t );
   
    TYP & operator []( int uIndeks ) { return tablica[ uIndeks ]; }
   
};

template < class TYP > Lista < TYP >::~Lista( void ) {
    if( tablica != 0 ) {
        delete[] tablica;
    }
}



#pragma once
#include "Kratka.h"
#include "Lista.h"

class Poziom
{
    Lista < Przejscie > listaPrzejsc;
    Lista < Roslina > listaRoslin;
    Lista < Skala > listaSkal;
    Kratka ** poziom;
    int maxX;
    int maxY;
public:
    Poziom( int x, int y );
    ~Poziom();
   
    Kratka ** getPoziom() const { return poziom; }
    int getMaxX() const { return maxX; }
    int getMaxY() const { return maxY; }
   
};

Poziom::~Poziom() {
    for( int i = 0; i < maxX; ++i ) {
        delete[] poziom[ i ];
    }
    delete[] poziom;
}

Nie mam pojęcia co może być źle. Za wszelką pomoc dzięki.
IDE Visual c++ 2008 ee
P-79118
pekfos
» 2013-03-22 14:31:04
Destruktor szablonu klasy musi być zdefiniowany w nagłówku.
P-79122
Oraliza
Temat założony przez niniejszego użytkownika
» 2013-03-22 20:30:31
Działa. Dzięki :D
P-79152
« 1 »
  Strona 1 z 1