提示:本地函数定义是非法的,有谁可以帮我看看吗?。 5

boolFindPic(intx,inty,intxx,intyy,CStringFileName,doubles,int&rex,int&rey){CBitmapbmp... bool FindPic(int x,int y,int xx,int yy, CString FileName, double s, int &rex,int &rey)
{
CBitmap bmp;
BITMAP bm;
HBITMAP hBmp;
CDC bmpDC;
hBmp = (HBITMAP)::LoadImage(AfxGetInstanceHandle(),FileName,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
bmp.DeleteObject();
bmp.Attach( hBmp );
bmp.GetObject(sizeof(BITMAP),&bm);
bmpDC.CreateCompatibleDC(NULL);
bmpDC.SelectObject(&bmp); //图片DC

HDC hScreenDC = ::GetDC(NULL); //屏幕DC
bool found = false;//是否匹配到

bool next = false;//是否找下一个点

int width = bm.bmWidth;
int height = bm.bmHeight;
int limit = (double)(width * height) * (1-s);
int count = 0;

for (int i = x; i < (xx - width) && !found ; i++)
{
for (int j = y ; j < (yy - height) && !found ; j++)
{
next = false;
count = 0;
for (int a = 0;a<width && !next;a++)
{
for (int b = 0;b<height &&!next;b++)
{
if(GetPixel(hScreenDC,i+a,j+b) != bmpDC.GetPixel(a, b))
{
//next = true;//找屏幕中下一个点
count ++;
}
if (count > limit)
{
next = true;
}
}
}
if (!next)//找到点
{
found = true;
rex = i;
rey = j;
return true;
break;
}
}
}
return false;
}
错误C2601:'FindPic':本地函数定义是非法的
展开
 我来答
0120508670219
推荐于2018-04-07 · 超过13用户采纳过TA的回答
知道答主
回答量:23
采纳率:100%
帮助的人:18.4万
展开全部
错误消息
“function”: 本地函数定义是非法的

代码试图在函数内定义函数。

或者,在该 C2601 错误位置前的源代码中有一个额外的大括号。

下面的示例生成 C2601:

复制代码
// C2601.cpp
int main() {
int i = 0;

void funcname(int j) { // C2601
j++;
}
}

把你的代码试了一下,好像这两个原因都不是,你自己仔细查查。。。

参考资料: MSDN

威武且犀利的彩虹8073
2010-11-09 · 超过42用户采纳过TA的回答
知道答主
回答量:111
采纳率:0%
帮助的人:108万
展开全部
这种情况一般是你这个文件上面某个地方少了一个}
或者是#ifdef#if 没有和#endif配对好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式