Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: valentz en 4 Abril 2019, 21:49 pm



Título: inicializacion de apuntador
Publicado por: valentz en 4 Abril 2019, 21:49 pm
Hola, estoy intentando generar una dll, el codigo es el siguiente:

Código:
Interface.h:

#ifdef LIBRARY_EXPORTS  
#define DLLAPI __declspec(dllexport)
#else
#define DLLAPI __declspec(dllimport)
#endif

extern "C" DLLAPI void HeatSolver();


Library.cpp:

#include "Interface.h"
#include "HeatSolver.h"

WATHANAPI void HeatSolver(){

CHeatSolver *pHeatSolver; // Pointer to HeatSolver class
pHeatSolver->solver();

}


HeatSolver.h:

class CHeatSolver{

public:

void solver(); // Main function of the dll

};


HeatSolver.cpp:

#include "WathunSolver.h"

void CHeatSolver::solver() { //Main function of my dll

}


Cuando lo compilo me genera el siguiente error:

Código:

Error C4700:uninitialized local variable pHeatSolver used.


Alguien me puede decir como solucionarlo.

Gracias.


Título: Re: inicializacion de apuntador
Publicado por: ivancea96 en 4 Abril 2019, 23:11 pm
Ignorando el tema de la DLL:
No puedes usar un puntero que no tiene valor. Un puntero no es un objeto de la clase CHeatSolver.
Si necesitas un objeto de esa clase, creala sin el puntero.


Título: Re: inicializacion de apuntador
Publicado por: laephy en 9 Abril 2019, 22:11 pm
Gracias.

Al final lo he solucionado creando una clase del tipo CHeatSolver.

Código:
WATHANAPI void HeatSolver(){

CHeatSolver HeatSolver;
HeatSolver.solver();

}