Buenas noches.
Tengo algo oxidado el c++. estaba probando y alcinando de que un pequeño programa no funcionaba.
Os pongo aquí la estructura. Es tan ridículamente sencilla que estoy empezando a pensar que hay detalles que estoy olvidando. ¿Tenéis idea? Tan fácil que no veo qué demonios pasa:
main.cpp
Código:
#include <stdlib.h>
#include "prueba.h";
int main(int argc, char** argv)
{
prueba *hola = new prueba();
hola->escribe();
return 0;
}
prueba.h
Código:
#ifndef PRUEBA_H_INCLUDED
#define PRUEBA_H_INCLUDED
class prueba{
public:
prueba();
void escribe();
};
#endif // PRUEBA_H_INCLUDED
prueba.cpp
Código:
#include "prueba.h";
#include <iostream>
prueba::prueba(){}
void prueba::escribe()
{
cout<<"HolaMundo"<<endl;
}
Sinceramente, es tan sencillo que no puedo comprender qué pasa. Alguna comilla? la forma de incluir?. Están todos en la misma carpeta.
Me devuelve un "UNDEFINED REFERENCE" a la funcion constructora y escribe llamadas en el main.
Y además si pongo la constructora en el prueba.h, sí que funciona. así que es algún problema de include, como dicta el título.
¿¿¿Qué demonios es???