soda, wenn ein C compiler das sieht:
Code:
#include <windows.h>
void (
WINAPI * glMyBegin)( void );
int
WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int
nFunsterStil)
{
HINSTANCE myDll = NULL;
myDll = LoadLibrary( "OpenGl32.dll");
if (!myDll)
return 0;
glMyBegin = NULL;
glMyBegin = GetProcAddress( myDll, "glBegin" );
if (glMyBegin == NULL) // oder (!glMyBegin)
MessageBox(NULL, "Failed to load function.","Error", 0);
else
MessageBox(NULL, "Function loaded.","Ok", 0);
FreeLibrary( myDll );
return 0;
}
dann ist alles so wie es sein sollte....es wird kompiliert.
Ein C++ compiler sagt dazu aber :
Zitat:
error C2440: '=' : cannot convert from 'int (__stdcall *)(void)' to 'void (__stdcall *)(void)'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
Was soll ich machen ?
EDIT:
Dabei ist folgende Zeile gemeint :
Code:
glMyBegin = GetProcAddress( myDll, "glBegin" );