[obj:error:][LNK 2001][LNK 2019]解决办法
[obj:error:][LNK 2001][LNK 2019]
1>Animal.obj : error LNK2001: 无法解析的外部符号 "class Point (* Map)[25]" (?Map@@3PAY0BJ@VPoint@@A)
1>BigWay.obj : error LNK2001: 无法解析的外部符号 "class Point (* Map)[25]" (?Map@@3PAY0BJ@VPoint@@A)
1>Sheep.obj : error LNK2019: 无法解析的外部符号 "class Point (* Map)[25]" (?Map@@3PAY0BJ@VPoint@@A),该符号在函数 "public: void __thiscall Sheep::BirthAndDied(int,int)" (?BirthAndDied@Sheep@@QAEXHH@Z) 中被引用
1>Wolf.obj : error LNK2001: 无法解析的外部符号 "class Point (* Map)[25]" (?Map@@3PAY0BJ@VPoint@@A)
1>d:\VS2013 Code\visual studio 2013\Projects\狼和羊\Debug\狼和羊.exe : fatal error LNK1120: 1 个无法解析的外部命令
编译器为VS2013。
我说一下关系,
Sheep类和Wolf类继承Animal类,BigWay类是管理类,
而Point类如下:
类似一个结构体。
现在BigWay里有一个全局变量Point Map[MAX][MAX],这个全局变量在Sheep,Wolf,Animal,BigWay里都会用到(包括访问,修改)。
以下为BigWay.h的部分代码:
Animal,Sheep,Wolf的CPP文件中均有”BigWay.h",并且所有.h文件第一行均为#pragma once
不知道怎么样解决这个问题?
求大神教我!!!!~~~~(>_<)~~~~
------解决思路----------------------
extern只是声明共享
为了保证编译通过
你应该在某个CPP里定义这个数组
其他cpp只要引用了这个数组 就可以访问
------解决思路----------------------
可以 但是所有使用的文件都需要include "Point.h"
1>Animal.obj : error LNK2001: 无法解析的外部符号 "class Point (* Map)[25]" (?Map@@3PAY0BJ@VPoint@@A)
1>BigWay.obj : error LNK2001: 无法解析的外部符号 "class Point (* Map)[25]" (?Map@@3PAY0BJ@VPoint@@A)
1>Sheep.obj : error LNK2019: 无法解析的外部符号 "class Point (* Map)[25]" (?Map@@3PAY0BJ@VPoint@@A),该符号在函数 "public: void __thiscall Sheep::BirthAndDied(int,int)" (?BirthAndDied@Sheep@@QAEXHH@Z) 中被引用
1>Wolf.obj : error LNK2001: 无法解析的外部符号 "class Point (* Map)[25]" (?Map@@3PAY0BJ@VPoint@@A)
1>d:\VS2013 Code\visual studio 2013\Projects\狼和羊\Debug\狼和羊.exe : fatal error LNK1120: 1 个无法解析的外部命令
编译器为VS2013。
我说一下关系,
Sheep类和Wolf类继承Animal类,BigWay类是管理类,
而Point类如下:
#pragma once
class Point
{
public:
Point();
~Point();
char Type[10];
int Age;
int Male;
int empty;
};
类似一个结构体。
现在BigWay里有一个全局变量Point Map[MAX][MAX],这个全局变量在Sheep,Wolf,Animal,BigWay里都会用到(包括访问,修改)。
以下为BigWay.h的部分代码:
#pragma once
#include "Point.h"
#include <fstream>
#include <iostream>
using namespace std;
#define MAX 25
#define MAXNUM 10
extern Point Map[MAX][MAX];//x,y,num
class BigWay
{
public:
BigWay();
~BigWay();
Animal,Sheep,Wolf的CPP文件中均有”BigWay.h",并且所有.h文件第一行均为#pragma once
不知道怎么样解决这个问题?
求大神教我!!!!~~~~(>_<)~~~~
------解决思路----------------------
extern只是声明共享
为了保证编译通过
你应该在某个CPP里定义这个数组
其他cpp只要引用了这个数组 就可以访问
------解决思路----------------------
可以 但是所有使用的文件都需要include "Point.h"