Test Foro de elhacker.net SMF 2.1

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:


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:



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.


WATHANAPI void HeatSolver(){

CHeatSolver HeatSolver;
HeatSolver.solver();

}