SoloCodigo
Programación General => C/C++ => Visual C++ => Mensaje iniciado por: KrakenFenix en Domingo 24 de Septiembre de 2006, 22:09
-
Hola al compilar un programa me da el siguiente error. Es el ejemplo inicial para aprender la Api de windows:
error C2731: 'WinMain' : function cannot be overloaded
Trozo de codigo:
int PASCAL WinMain(HANDLE hInstance, HANDLE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
MSG Mensaje;
if(!hPrevInstance)
{
if(!IniciaAplicacion(hInstance))
return FALSE;
}
if(!IniciaInstancia(hInstance,nCmdShow))
return (FALSE);
while (GetMessage(&Mensaje, NULL,NULL,NULL))
{
TranslateMessage(&Mensaje);
DispatchMessage(&Mensaje);
}
return (Mensaje.wParam);
}
No encuentro la solucion a esto. ¿Alguien puede ayudarme? Muchas Gracias.
-
Hola
Ese error creo que es porque estas metiendo argumentos que no son correctos. Por eso te dice que estas sobrecargando la funcion
Los 2 primeros argumentos de la funcion WinMain no son HANDLE si no que son HINSTANCE
int PASCAL WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nShowCmd)
Aca te dejo 2 paginas para que te guies un poco
http://winapi.conclase.net/curso/index.php?cap=003#TIPICA (http://winapi.conclase.net/curso/index.php?cap=003#TIPICA)
http://www.dcp.com.ar/sdk/win32p1.htm#winmain (http://www.dcp.com.ar/sdk/win32p1.htm#winmain)
salu2 :hola:
-
Si, es cierto, ayer por la noche acabé por descubrir que pasaba.
Supongo que han cambiado la definición del WinMain. Copie ese trozo de un libro y está con HANDLE. Asi que puede que sea un error de libro o de que han actualizado el winMain.
Estoy usando Visual Studio 8 (2005).
Lo he ido a compilar ahora con Dev C++ y me da error en el WinMain y me dice que el HINSTANCE pa ti.
Asi que creo que han debido cambiar el WinMain.
Me di cuenta gracias al asistente que al abrir parentesis te dice los parametros que tiene. Y vi que aquello no era igual.
Ante todo muchas gracias por responder tan rápido "Diodo".