[ daniel_trifunovic @ 12.06.2007. 17:20 ] @
Pisao sam si primjer, kako bih shvatio tematiku. Kompajler mi prijavljuje dvije greške: 1) Error 2 error LNK2019: unresolved external symbol "public: __thiscall Popunjen::~Popunjen(void)" (??1Popunjen@@QAE@XZ) referenced in function "public: void __thiscall Niz::uBroj(int)" (?uBroj@Niz@@QAEXH@Z) program.obj 2) Error 3 fatal error LNK1120: 1 unresolved externals C:\Documents and Settings\daniel\My Documents\Visual Studio 2005\Projects\temp\Debug\temp.exe 1 Problematični kod: Code: //niz.h #ifndef _NIZ_H_ #define _NIZ_H_ #include "greska.h" class Niz { int *broj, kap, pop; public: Niz(int k=5) { broj=new int[kap=k]; pop=0; } int operator [](int i) { if(i<0 || i>9) throw VanOpsega(); else return broj[i]; } void uBroj(int b) { if(pop==kap) throw Popunjen(); else broj[pop++]=b; } ~Niz() { delete []broj; } }; #endif Code: //greska.h #ifndef _GRESKA_H_ #define _GRESKA_H_ #include <iostream> #include <cstring> using namespace std; class Greska { char *poruka; public: Greska(const char *tekst) { poruka=new char[strlen(tekst+1)]; strcpy(poruka, tekst); } Greska(const Greska &g){ poruka=new char[strlen(g.poruka+1)]; strcpy(poruka, g.poruka); } friend ostream& operator <<(ostream& it, const Greska &g) { return it<<"***GRESKA: "<<g.poruka<<"***"<<endl; } ~Greska() { delete []poruka; } }; class VanOpsega: public Greska { public: VanOpsega(): Greska("Indeks je van opsega.") {} ~VanOpsega(); }; class Popunjen: public Greska { public: Popunjen(): Greska("Niz je popunjen.") {} ~Popunjen(); }; #endif Code: //program.cpp #include "niz.h" void main() { Niz n1; while(1) { try { cout<<"unesi broj: "; int broj; cin>>broj; if(!broj) break; n1.uBroj(broj); } catch(Greska g) { cout<<g; } } } [Ovu poruku je menjao daniel_trifunovic dana 12.06.2007. u 22:30 GMT+1] |