问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c++迷宫问题求帮助!error C2784: 'bool __cdecl std::operator ==(const class std::istream_it

发布网友 发布时间:2022-04-29 14:54

我来回答

1个回答

热心网友 时间:2023-10-13 02:47

楼主,错误如下:
1.
// e=(curstep,curpos,1); //改为下面3行的内容
e.ord=curstep; ////定义的postype e; 只是postype的对象,应该调用postype里面的成员进行赋值,上面错误的写法是函数赋值
e.seat=curpos; ////
e.di=1; ////

2.
// if(curpos==end) return true; //改为下面1行的内容
if(curpos.x==end.x && curpos.y==end.y) return true; //原因同上,应该调用coordinate里面的成员才能进行比较

还有二维数组的写法问题,具体的说在程序里,看看吧:

#include <iostream>
#include <stack>
#include <malloc.h>
#include <vector>
#include <map>
#include <algorithm>
using namespace std;

#define n 10

int a[n][n]={{0,0,0,0,0,0,0,0,0,0}, //二维数组应该这样写,小数组里也该用括号
{0,1,1,0,1,1,1,0,1,0},
{0,1,1,0,1,1,1,0,1,0},
{0,1,1,1,1,0,0,1,1,0},
{0,1,0,0,0,1,1,1,1,0},
{0,1,1,1,0,1,1,1,1,0},
{0,1,0,1,1,1,0,1,1,0},
{0,1,0,0,0,1,0,0,1,0},
{0,0,1,1,1,1,1,1,1,0},
{0,0,0,0,0,0,0,0,0,0}
};
int b[n][n];

typedef struct
{
int x;
int y;
}coordinate;

typedef struct
{
int ord;
coordinate seat;
int di;
}postype;

bool pass(coordinate epos)
{
if(b[epos.x][epos.y]==1) return true;
else return false;
}

void footprint(coordinate curpos)
{
b[curpos.x][curpos.y]=0;
}

coordinate nextpos(coordinate curpos,int t)
{
switch (t)
{
case 1: curpos.x++;
case 2: curpos.y++;
case 3: curpos.x--;
case 4: curpos.y--;
}
return curpos;
}

bool mazepath(coordinate start,coordinate end)
{
postype e;
stack<postype> pos;
coordinate curpos;
curpos=start;
int curstep=1;
do
{
if(pass(curpos))
{
footprint(curpos);

// e=(curstep,curpos,1); //改为下面3行的内容
e.ord=curstep; ////定义的postype e; 只是postype的对象,应该调用postype里面的成员进行赋值,上面错误的写法是函数赋值
e.seat=curpos; ////
e.di=1; ////
pos.push(e);
// if(curpos==end) return true; //改为下面1行的内容
if(curpos.x==end.x && curpos.y==end.y) return true; //原因同上,应该调用coordinate里面的成员才能进行比较

curpos=nextpos(curpos,1);
curstep++;
}
else
{
if(!pos.empty())
{
pos.pop();
while (e.di==4&&!pos.empty())
{
footprint(e.seat);
pos.pop();
}
if(e.di<4)
{
e.di++;
pos.push(e);
curpos=nextpos(e.seat,e.di);
}
}
}
}while(!pos.empty());
return false;
}

void main()
{
coordinate start,end;
int i,j;
b[n][n]=a[n][n];
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
start.x=1; start.y=1;
end.x=8; end.y=8;
mazepath(start,end);
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 嘴唇上有黑印用蜜蜡和棉线去除了胡须 在protel中进行原理图生成pcb的导入时,为什么提示“Footprint Not Find 0805&quot;(已经在pcb中导入文件库) 在protel中进行原理图生成pcb的导入网路表时,为什么提示FOOTPRINT *** NOT FOUND(已经在pcb中导入文件库 使用AD10导入pcb是出现 footprint not found该怎么解决? 求翻译~~ 我们一路走来留下的“足迹”,这个用trail、footprint、footmark、track、trace中的哪个词最好? 平板电脑上农村游戏怎么改时间 如何在华为平板c5上设定每天游戏总时间? 粤通卡etc大亚湾在哪里办理? 怎样在平板电脑上设置玩游戏定时间,到规定时间自动关机 珠海市粤通卡公司电话号码是多少? 平板上面怎么解开游戏防沉迷 线上的工行办理etc粤通卡申请失败后。原因提交资料有误,我想重新申但是取消要求填写取消码怎么办? 粤通卡具体办公时间? 为什么河南招生考试信息网上查不到录取结果 gta5咋能分清正版跟盗版 高考成绩在什么网站查询? 就看见招生考试信息网了! GTA5 steam正版,出这个图说我版本不一致怎么回事? GTA5哪里能看到是不是正版? 补充问题部分请细看!! 河南省招生考试信息网 内蒙古招生考试信息网考场查询 磁盘管理里面有个12G的恢复分区是干什么用的 我要删除栈顶元素,咋删除不了呢,如何写Pop(),求教 +_+ 您好 想问下空调遥控器的那种E型按键 PCB封装要如何画? 浙江省高一教材英语词汇 Allegro不能place机构件(USB接口)问题 迷宫求解 eclisple中,编辑这个程序,出现另一个程序的结果怎么设置? 关于C语言的问题,高手进 数据结构迷宫问题(c语言) 求英语翻译!不要电脑的中式英语翻译,求见高手!! 手撕小干鱼怎么做好吃,手撕小干鱼的家常做法 手撕小干鱼的做法,手撕小干鱼怎么做好吃,手撕 用C语言编个走迷宫程序,要求:1:迷宫的规模和地图由程序随机自动生成。入口和出口由用户指定。 手撕鱼怎么做 数据结构c++编程 走迷宫 特色干锅手撕鱼的做法,如何做,怎么做 手撕鱼的做法 手撕鱼的做法,怎么做手撕鱼才好吃 风味手撕鱼的做法步骤图,风味手撕鱼怎么做 风味手撕鱼怎么做 手撕明太鱼干怎么做