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
//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
//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; }
}
}
//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]