Salve ragazzi, sto facendo un programmino ad oggetti ( l ho fatto senza oggetti e funziona bene ora mi hanno detto di farci una classe...). ed il problema è qui:
Dichiaro in un file stutture.h quello che mi serve e faccio l'overloading di operator== come segue:
#ifndef strutture_h
#define strutture_h
#include "cv.h" \\è una libreria di openCV
using namespace std;
struct statistica{
CvMat* media;
CvMat* deviazione;
};
struct coordinate{
int x1;
int x2;
int y1;
int y2;
bool used;
int dim;
};
bool operator==(coordinate x, coordinate y) {
return ((x.x1 == y.x1) && (x.x2 == y.x2) && (x.y1==y.y1) && (x.y2==y.y2)); };
#endif
poi mi faccio una classe dove in un metodo uso una funzione che usa l operatore== tra due elementi di tipo coordinate, in particolare ho dovuto ridefinire l'operatore per usare "find" delle stl vector.
L'errore del linker è:
multiple definition of `operator==(coordinate, coordinate)'
first defined here
ld returned 1 exit status
C:\Documents and Settings\steros84\... [Build Error] [alg_xin_he.exe] Error 1
spero di essere stato "comprensibile" cmq per qualsiasi cosa vi chiarisco il problema.
grazie infinite
stefano