编译错误:本地函数定义是非法的? [英] Compiling error: local function definitions are illegal?

查看:999
本文介绍了编译错误:本地函数定义是非法的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嘿所有我真的希望你可以帮助我。


我正在编译一个项目并且我得到2个错误,说本地函数定义是非法的。

任何人都知道这是什么意思?特别是如何来解决它?


谢谢..对不起,如果这是一个菜鸟问题..我仍然是一个noobcoder。


Greetz

解决方案

[quote = unknownbomb]嘿所有我真的希望你能帮帮我。


我编译一个项目并且我得到2个错误,说本地函数定义是非法的。

任何人都知道这是什么意思?特别是如何来解决它?


谢谢..对不起,如果这是一个菜鸟问题..我仍然是一个noobcoder。


Greetz [/ QUOTE


如果能发布一些代码会更好


ssharish


当然!


编译......

cOpenGL.cpp

D: \ TLS-GL\cOpenGL.cpp(206):错误C2601:''hooked_wglSwapBuffers'':本地函数定义是非法的


D:\ TLS-GL\cOpenGL .cpp(211):错误C2601:''CodeWalk'':本地函数定义是非法的





错误1:

无效APIENTRY hooked_wglSwapBuffers(HDC hDC)

{

pwglSwapBuffers(hDC);

}




错误2 :(在这里开始箭头指向,所以想想它在哪里我做了什么粗体)

void CodeWalk(DWORD dwStartAddress,DWORD dwEndAddress)

{

for(DWORD dwCurrentAddress = dwStartAddress; dwCurrentAddress< = dwEndAddress-0x6; dwCurrentAddress + = 0x6)
{ PD WORD pdwTempAddress =(PDWORD)dwCurrentAddress + 0x2;


PDWORD pdwTableAddress =(PDWORD)* pdwTempAddress;


HMODULE hmOpenGL = LoadLibrary(" OPENGL32.DLL" );


if(* pdwTableAddress ==(DWORD)GetProcAddress(hmOpenGL," glBegin"))

{

pglBegin =(glBegin_t)* pdwTableAddress;

* pdwTableAddress =(DWORD)& hooked_glBegin;

}

else if(* pdwTableAddress == (DWORD)GetProcAddress(hmOpenGL," glBlendFunc"))

{

pglBlendFunc =(glBlendFunc_t)* pdwTableAddress;

* pdwTableAddress =( DWORD)& hooked_glBlendFunc;

}

else if(* pdwTableAddress ==(DWORD)GetProcAddress(hmOpenGL," glClear"))

{

pglClear =(glClear_t)* pdwTableAddress;

* pdwTableAddress =(DWORD)& hooked_glClear;

}

else if(* pdwTableAddress ==(DWORD)GetProcAddress(hmOpenGL," glEnable"))

{

pglEnable =(glEnable_t)* pdwTableAddress;

* pdwTableAddress =(DWOR D)& hooked_glEnable;

}

else if(* pdwTableAddress ==(DWORD)GetProcAddress(hmOpenGL," glEnd" ))

{

pglEnd =(glEnd_t)* pdwTableAddress;

* pdwTableAddress =(DWORD)& hooked_glEnd;

}

else if(* pdwTableAddress ==(DWORD)GetProcAddress(hmOpenGL," glPopMatrix"))

{

pglPopMatrix =(glPopMatrix_t)* pdwTableAddress;

* pdwTableAddress =(DWORD)& hooked_glPopMatrix;

}

else if(* pdwTableAddress ==( DWORD)GetProcAddress(hmOpenGL," glPushMatrix"))

{

pglPushMatrix =(glPushMatrix_t)* pdwTableAddress;

* pdwTableAddress =(DWORD )& hooked_glPushMatrix;

}

else if(* pdwTableAddress ==(DWORD)GetProcAddress(hmOpenGL," glShadeModel"))

{

pglShadeModel =(glShadeModel_t)* pdwTableAddress;

* pdwTableAddress =(DWORD)& hooked_glShadeModel;

}

else if(* pdwTableA ddress ==(DWORD)GetProcAddress(hmOpenGL," glVertex2f" ))

{

pglVertex2f =(glVertex2f_t)* pdwTableAddress;

* pdwTableAddress =(DWORD)& hooked_glVertex2f;

}

else if(* pdwTableAddress ==(DWORD)GetProcAddress(hmOpenGL," glVertex3f"))

{

pglVertex3f =(glVertex3f_t)* pdwTableAddress;

* pdwTableAddress =(DWORD)& hooked_glVertex3f;

}

else if(* pdwTableAddress ==( DWORD)GetProcAddress(hmOpenGL," glVertex3fv"))

{

pglVertex3fv =(glVertex3fv_t)* pdwTableAddress;

* pdwTableAddress =(DWORD )& hooked_glVertex3fv;

}

else if(* pdwTableAddress ==(DWORD)GetProcAddress(hmOpenGL," glViewport"))

{

pglViewport =(glViewport_t)* pdwTableAddress;

* pdwTableAddress =(DWORD)& hooked_glViewport;

}

else if(* pdwTableAd dress ==(DWORD)GetProcAddress(hmOpenGL," wglSwapBuffers" ))

{

pwglSwapBuffers =(wglSwapBuffers_t)* pdwTableAddress;

* pdwTableAddress =(DWORD)& hooked_wglSwapBuffers;

}

}

}


任何人?请

Hey all i really hope you can help me out.

Im compiling a project and im getting 2 errors which are saying local function definitions are illegal.
Anyone know what this mean? And especially HOW to fix it??

Thanks.. Sorry if this is a noob question.. I AM still a noobcoder.

Greetz

解决方案

[quote=unknownbomb]Hey all i really hope you can help me out.

Im compiling a project and im getting 2 errors which are saying local function definitions are illegal.
Anyone know what this mean? And especially HOW to fix it??

Thanks.. Sorry if this is a noob question.. I AM still a noobcoder.

Greetz[/QUOTE

it would be betterif u could post some code

ssharish


Sure !

Compiling...
cOpenGL.cpp
D:\TLS-GL\cOpenGL.cpp(206) : error C2601: ''hooked_wglSwapBuffers'' : local function definitions are illegal

D:\TLS-GL\cOpenGL.cpp(211) : error C2601: ''CodeWalk'' : local function definitions are illegal
.


Error 1:
void APIENTRY hooked_wglSwapBuffers (HDC hDC)
{
pwglSwapBuffers( hDC );
}



Error 2: (in the beginning here arrow points at so think its here somewhere what i made bold)

void CodeWalk( DWORD dwStartAddress, DWORD dwEndAddress )
{
for ( DWORD dwCurrentAddress = dwStartAddress; dwCurrentAddress <= dwEndAddress-0x6; dwCurrentAddress+=0x6 )
{ PDWORD pdwTempAddress = ( PDWORD ) dwCurrentAddress + 0x2;

PDWORD pdwTableAddress = ( PDWORD ) *pdwTempAddress;

HMODULE hmOpenGL = LoadLibrary( "opengl32.dll" );

if ( *pdwTableAddress == ( DWORD ) GetProcAddress( hmOpenGL, "glBegin" ) )
{
pglBegin = ( glBegin_t ) *pdwTableAddress;
*pdwTableAddress = ( DWORD ) &hooked_glBegin;
}
else if ( *pdwTableAddress == ( DWORD ) GetProcAddress( hmOpenGL, "glBlendFunc" ) )
{
pglBlendFunc = ( glBlendFunc_t ) *pdwTableAddress;
*pdwTableAddress = ( DWORD ) &hooked_glBlendFunc;
}
else if ( *pdwTableAddress == ( DWORD ) GetProcAddress( hmOpenGL, "glClear" ) )
{
pglClear = ( glClear_t ) *pdwTableAddress;
*pdwTableAddress = ( DWORD ) &hooked_glClear;
}
else if ( *pdwTableAddress == ( DWORD ) GetProcAddress( hmOpenGL, "glEnable" ) )
{
pglEnable = ( glEnable_t ) *pdwTableAddress;
*pdwTableAddress = ( DWORD ) &hooked_glEnable;
}
else if ( *pdwTableAddress == ( DWORD ) GetProcAddress( hmOpenGL, "glEnd" ) )
{
pglEnd = ( glEnd_t ) *pdwTableAddress;
*pdwTableAddress = ( DWORD ) &hooked_glEnd;
}
else if ( *pdwTableAddress == ( DWORD ) GetProcAddress( hmOpenGL, "glPopMatrix" ) )
{
pglPopMatrix = ( glPopMatrix_t ) *pdwTableAddress;
*pdwTableAddress = ( DWORD ) &hooked_glPopMatrix;
}
else if ( *pdwTableAddress == ( DWORD ) GetProcAddress( hmOpenGL, "glPushMatrix" ) )
{
pglPushMatrix = ( glPushMatrix_t ) *pdwTableAddress;
*pdwTableAddress = ( DWORD ) &hooked_glPushMatrix;
}
else if ( *pdwTableAddress == ( DWORD ) GetProcAddress( hmOpenGL, "glShadeModel" ) )
{
pglShadeModel = ( glShadeModel_t ) *pdwTableAddress;
*pdwTableAddress = ( DWORD ) &hooked_glShadeModel;
}
else if ( *pdwTableAddress == ( DWORD ) GetProcAddress( hmOpenGL, "glVertex2f" ) )
{
pglVertex2f = ( glVertex2f_t ) *pdwTableAddress;
*pdwTableAddress = ( DWORD ) &hooked_glVertex2f;
}
else if ( *pdwTableAddress == ( DWORD ) GetProcAddress( hmOpenGL, "glVertex3f" ) )
{
pglVertex3f = ( glVertex3f_t ) *pdwTableAddress;
*pdwTableAddress = ( DWORD ) &hooked_glVertex3f;
}
else if ( *pdwTableAddress == ( DWORD ) GetProcAddress( hmOpenGL, "glVertex3fv" ) )
{
pglVertex3fv = ( glVertex3fv_t ) *pdwTableAddress;
*pdwTableAddress = ( DWORD ) &hooked_glVertex3fv;
}
else if ( *pdwTableAddress == ( DWORD ) GetProcAddress( hmOpenGL, "glViewport" ) )
{
pglViewport = ( glViewport_t ) *pdwTableAddress;
*pdwTableAddress = ( DWORD ) &hooked_glViewport;
}
else if ( *pdwTableAddress == ( DWORD ) GetProcAddress( hmOpenGL, "wglSwapBuffers" ) )
{
pwglSwapBuffers = ( wglSwapBuffers_t ) *pdwTableAddress;
*pdwTableAddress = ( DWORD ) &hooked_wglSwapBuffers;
}
}
}


Anyone?? please


这篇关于编译错误:本地函数定义是非法的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆