[C con Clase] Crear una librería estática
dani
ddagnino en gmail.com
Mar Dic 11 17:20:22 CET 2007
Crear una librería estática
Hola a todos,
Estoy intentando crear una librería estática y siguiendo la guía del curso no consigo crearla. Me he propuesto el caso más simple que se me ocurre que es una librería que sume dos complejos y saque la parte real e imaginaria.
El archivo .cpp que tengo es:
#include <math.h>
#include "C:\lib_dani\complejos.h"
//Definición de operador para complejos.
inline complejo operator +(complejo x, complejo y){
complejo temp = {x.a+y.a, x.b+y.b};
return temp;
}
//Definición de funciones para complejos.
inline double real(complejo z) {return z.a;}
inline double imag(complejo z) {return z.b;}
Y el .h es:
//Estructura.
struct complejo {double a,b;};
//Prototipo del operador + para complejos.
inline complejo operator +(complejo x, complejo y);
//Funciones para complejos.
inline double real(complejo z);
inline double imag(complejo z);
Hasta aquí todo bien pq consigo compilar esto. El problema llega cuando intento usarla con el programa:
#include <cstdlib>
#include <iostream>
using namespace std;
#include "C:\lib_dani\complejos.h"
int main(int argc, char *argv[]){
complejo z1={1.0,2.0},z2={0.1,0.2};
printf("z1+z2 = (%lf , %lf)\n",real(z1+z2),imag(z1+z2));
getchar();
return 0;
}
El compilador me dice “undefined referente to operador +…” y lo mismo para real e imag. No entiendo pq no están definidos o pq no los encuentra. Si alguien tiene una idea de pq esto no funciona le agradecería cualquier comentario.
Un saludo,
Dani.
PS: Uso el Dev-C++ y he seguido todos los pasos de la guía de Cconclase.
Más información sobre la lista de distribución Cconclase