error C2059: syntax error : '}',帮我看看哪里有错,谢

int getMazePath(){
//获得迷宫路径的函数
MStackElem start,end,cur;
start.x=0;
start.y=0;
start.val=maze[start.x][start.y];
end.x=7;
end.y=7;
end.val=maze[end.x][end.y];
cur=start;//设定当前为位置为"入口位置"
do
{
if (unPass(path,cur)){//如果当前位置未曾走到过
push(&realPath,cur);
push(&path,cur);
cur=getNext(cur);
if (cur.x == end.x && cur.y == end.y) { //到达出口了,则跳出循环,并返回true
//把出口结点放入路径中
push(&realPath,cur);
push(&path,cur);
//直接跳出函数(而不只是跳出这个循环 )
return true;
}
else if(cur.val == -1) {//当前位置的四面或为墙或已走过
//删除真实路径的栈顶元素
pop(&realPath);
cur = getTop(&realPath);//令cur指向栈顶元素
}
}
else {//如果当前位置已经走过,说明原来测试的方向不对,现在尝试其它方向
cur = getNext(cur);
if (cur.val == -1) {//仍不通,删除真实路径的栈顶元素
pop(&realPath);
cur = getTop(&realPath);//令cur指向栈顶元素
}while(cur.x!=end.x||cur.y!=end.y);
}
}
}
初步目测最后多了一个}。最后一个删掉。代码风格不太好,{要么写到最后,要么另起一行