在使用board.h和board.cpp将代码拆分为两个文件之前,代码工作正常 board.h由
提供#ifndef BOARD_H
#define BOARD_H
#include "Graph.h"
#include "ShortestPath.h"
using namespace std;
enum class boardType : short{SEVEN, ELEVEN};
enum class nodeType : short{UNDEFINED, HUMAN, COMPUTER };
char status2char(nodeType a);
class board{
public:
board{
...
}
~board(){
delete []HexBoard;
}
void printBoard(){
...
}
bool setComputerPosition(int i, char a);
bool setHumanPosition(int i, char a);
private:
nodeType *HexBoard;
Graph Computer;
Graph Human;
int boardSize;
};
#endif /* BOARD_H*/
board.cpp如下;
#include "board.h"
char status2char(nodeType a){
...
}
bool board::setComputerPosition(int i, char a){
...
}
bool board::setHumanPosition(int i, char a){
...
}
所有头文件都包含警卫,错误表示shortestGraph.h(另一个类)中的构造函数被重新定义。
你能帮我找到问题吗?非常感谢。