Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/06/2008, 04:55
bonirau
 
Fecha de Ingreso: junio-2008
Mensajes: 2
Antigüedad: 16 años, 5 meses
Puntos: 0
Problema con clase base y derivada

Hola buenas, estoy intentando compilar el siguiente codigo, y me aparecen unos errores de compilacion que no consigo entender/arreglar. El caso es que todo codigo, a excepcion del que se encuentra en el main ha sido generado como un resultado del programa xFuzzy, asi que en principio este no deberia tener problemas. El codigo que provoca el error, de forma simplificada es el siguiente:



Código:
(en xfuzzy.h)

class FuzzyInferenceEngine {
public:
 virtual double* crispInference(double* input) = 0;
 virtual double* crispInference(MembershipFunction* &input) = 0;
 virtual MembershipFunction** fuzzyInference(double* input) = 0;
 virtual MembershipFunction** fuzzyInference(MembershipFunction* &input) = 0;
};

(en esp_9_class_ideal.h)

class esp_9_class_ideal: public FuzzyInferenceEngine {
public:
 esp_9_class_ideal() {};
 virtual ~esp_9_class_ideal() {};
 virtual double* crispInference(double* input);
 virtual double* crispInference(MembershipFunction* &input);
 virtual MembershipFunction** fuzzyInference(double* input);
 virtual MembershipFunction** fuzzyInference(MembershipFunction* &input);
 void inference( double _i_speed, double _i_steer, double _i_ang_vel, double _i_lat_force, double *_o_oversteer );
private:
 void RL_esp(MembershipFunction &speed, MembershipFunction &steer, MembershipFunction &ang_vel, MembershipFunction &lat_force, MembershipFunction ** _o_oversteer_9);
};


(en main.c)

int main( int argc, char **argv ) {

  esp_9_class_ideal esp9ideal;
...

  esp9ideal.inference((double)vel2, (double)steer, (double) angvel, (double)lat_force, & oversteer);

...
}
y los errores que obtengo son los siguientes:

offroad-main.o: In function `esp_9_class_ideal':
esp_9_class_ideal.h:175: undefined reference to `vtable for esp_9_class_ideal'
In function `main':
/main.cpp:439: undefined reference to `esp_9_class_ideal::inference(double, double, double, double, double*)'
offroad-main.o: In function `~esp_9_class_ideal':
/esp_9_class_ideal.h:176: undefined reference to `vtable for esp_9_class_ideal'

Si comento/elimino la llamada a inference en el main desaparecen los errores de compilacion. No entiendo que es lo que estoy haciendo mal!!! A que se deben los errores "undefined reference to `vtable for esp_9_class_ideal'" ???

Muchas gracias