0
我收到以下錯誤,當我嘗試編譯我的VS2012項目:LNK 2019解析外部符號錯誤
錯誤LNK2019:無法解析的外部符號 「市民:INT __thiscall地圖:: GetBlockRef(INT,INT)」(? GetBlockRef @圖@@在函數引用QAEHHH @ Z) 「市民:無效__thiscall地圖:: LoadLevel(INT)」(LoadLevel @圖@@ QAEXH @ Z)
錯誤LNK1120:1周無法解析的外部
我檢查了各種網站的類似問題,但找不到任何。問題是要求int map :: GetBlockRef(int,int) in void map :: LoadLevel(int)。
爲什麼我不能調用GetBlockRef()?
map.h
#ifndef MAP_H
#define MAP_H
#include <windows.h>
#include <vector>
#include "Block.h"
using namespace std;
class map
{
public:
map();
int GetGridCoord(int);
int GetBlockRef(int, int); //Declared correctly
void LoadLevel(int);
vector<block>blocks;
vector<int>blockRef;
};
#endif
map.cpp
#include "Map.h"
map::map()
{
for(int i = 0; i < 196; i++)
{
blockRef.push_back(-1);
}
}
int GetGridCoord(int v)
{
return (v/48) - 1;
}
int GetBlockRef(int x, int y) //Defined correctly
{
x = GetGridCoord(x);
y = GetGridCoord(y);
int index = x + (14 * y);
return index;
}
void map::LoadLevel(int level)
{
int index;
block tmpBlock;
tmpBlock.InitBlockData(144, 144, "rock");
index = GetBlockRef(tmpBlock.xPos, tmpBlock.yPos); //THIS IS CAUSING ERRORS!!
blockRef[index] = 0;
blocks.push_back(tmpBlock);
}
哦哇......我完全忘了指定函數屬於哪個類x.x謝謝! –