好的,我有一个数组
int map[60][60];
它由墙填充,并在int main()中具有起始位置等。
稍后我调用另一个.cpp文件中的路径查找算法
string route=findPath(xA, yA, xB, yB);
它将地图上的随机起点和终点传递给findPath。我遇到的问题是,我真的想将地图生成保存在一个单独的文件中,并最终将其从main移动到自己的.cpp。为了实现这一点,我需要能够将完成的地图传递给findPath,从而
findPath(xA, yA, xB, yB, map);
然而,我没有一个该死的线索来开始做这件事,我尽最大努力在网上寻求帮助,结果失败了。尽管有很多关于如何做到这一点的教程,但我还没有找到适合我的具体情况的,或者让它发挥作用。
我对头文件的最佳猜测如下:
#ifndef FINDPATH_H
#define FINDPATH_H
#include <iostream>
#include <iomanip>
#include <queue>
#include <string>
#include <math.h>
#include <ctime>
using namespace std;
string findPath(const int &, const int &, const int &, const int &, int [60][60]);
#endif
我的findPath函数声明如下
string findPath(const int & xCoordStart, const int & yCoordStart,
const int & xCoordEnd, const int & yCoordEnd, int (&map)[60][60])
我真的很难弄清楚到底该怎么做并实施它,请帮忙。
编辑:当前代码出错:
错误3错误LNK2019:未解析的外部符号“class
std::basic_string,类
std::分配器>__cdecl findPath(int常量&,int常量&aamp;,int
常量&,int常量&,int(*常量)[60])“
(?findPath@@YA?AV?)$basic_string@DU?$char_traits@D@标准@@V$allocator@D@2@@标准@@ABH000QAY0DM@H@Z)上
在函数_main C:\Users\Cameron\Documents\Visual Studio中引用
2012\项目\项目2\项目2\main.obj项目2
我很确定我在头文件中做错了什么,因为当我尝试使用int(&m)[60][60]格式时出现了问题。
在此之前,它进行了编译,但由于未实际传递数组的内容而在运行时失败。相反,地图是空白的,导致路径查找算法只绘制直线。