未定义的参考错误/动态调用函数

时间:2017-03-17 22:35:37

标签: c++ pointers dynamic undefined-reference

您好我正在开发一个涉及Main.cpp,Connect4.cpp和Connect4.h文件的程序。当我编译我的程序时,我在主文件中收到错误,说我的playGame函数是一个未定义的引用。我正在编译两个文件(主要是第一个)我相信我试图动态调用函数playGame的方式有问题。任何意见都会非常感激!

  

Main.cpp的

#include <iostream>
#include <array>
#include "Connect4.h"
void playGame();

using namespace std;

int main()
{
Connect4 *ptr;
ptr=new Connect4;
ptr-> playGame();
delete ptr;
}
  

Connect4.cpp

#include <iostream>
#include <array>
#include "Connect4.h"

char gameBoard[9][7];
int rows;
int columns;

using namespace std;
void playGame()
{
void display();
int selectColumn(bool);
int tokenPlacement(char token, int columns);
bool winOrLose();
cout<<"Welcome to Connect Four.";
for(int i=0; i<rows;++i)
{
    for(int j=0; j<columns; ++j)
    {
        gameBoard[i][j]=' ';
    }
}
bool player1Turn=true;
char winner='n';
int column =0;
while(true){
    display();

    column=selectColumn(player1Turn);

    if(player1Turn==true)
    {
        tokenPlacement('x',column);
        player1Turn=false;
    }
    else
    {
        tokenPlacement('o', column);
        player1Turn=true;

    winner= winOrLose();
    if(winner!='n')
    {
        break;
    }
}
cout<<"Winner is:"<<winner;

   }
  

Connect4.h       #ifndef CONNECT4_H_       #define CONNECT4_H_       #包括       使用namespace std;

class Connect4 {
public:
static void playGame();

private:
void display();
int selectColumn(bool);
int tokenPlacement(char, int);
bool winOrLose();
char gameBoard[9][7];


};

#endif /* CONNECT4_H_ */

0 个答案:

没有答案