在這個項目中我試圖數組傳遞給我的播放器類,但我一直收到錯誤傳遞數組到類
1>project.obj : error LNK2019: unresolved external symbol "public: __thiscall Player::Player(int *
const)" ([email protected]@[email protected]@Z) referenced in function _main
在實際的程序我有類本身它自己的頭文件,我將它包含在我的程序中。然後我有另一個cpp文件,其中包含類播放器中函數的定義。這有意義嗎?反正我不知道我做錯了什麼。有任何想法嗎?
#include "stdafx.h"
#include <iostream>
using namespace std;
class Player
{
public:
void moveUp();
void moveDown();
void moveRight();
void moveLeft();
Player(int b[16]); //create a variable to store the boardArray[]
};
void moveUp()
{
}
void moveDown()
{
}
void moveRight()
{
}
void moveLeft()
{
}
int drawBoard (int boardArray[16]) //draw the game board
{
for (int i = 0; i < 16; i++) //use a for loop to simply draw the game board (4x4)
{
cout <<boardArray[i]; //ouput the storage id of the array
if (i == 3 || i == 7 || i == 11 || i == 15) //every 4 lines begin new line
{
cout <<"\n";
}
}
return 0;
}
int main()
{
int bArray[16] = { 1, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0}; //create an array [16]
drawBoard(bArray); //send the aray to drawBoard()
Player p (bArray); //send the array to the Player class
char f;
cin >>f;
}
這不是一個變量,而是一個構造函數。變量與以往一樣。 – chris
在你的'Player'類中,你有一行說: 'Player(int b [16]);'它試圖用'int * const'調用播放器的構造函數,這正是錯誤消息正在指示。我認爲你有意從別處調用構造函數。無論哪種情況,您都需要爲'Player'定義構造函數。 – Eric
你需要'Player :: Player','Player :: moveUp'等定義,當你定義'moveUp'時,編譯器不知道你打算把它和'Player'聯繫起來,除非你通過聲明'Player ::之前。 –