error LNK2028 i LNK2019
Ostatnio zmodyfikowano 2013-03-22 20:30
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: #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 |
|
pekfos |
» 2013-03-22 14:31:04 Destruktor szablonu klasy musi być zdefiniowany w nagłówku. |
|
Oraliza Temat założony przez niniejszego użytkownika |
» 2013-03-22 20:30:31 Działa. Dzięki :D |
|
« 1 » |