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 » |