c++ 新手,很困惑。我已经查找了几十个类似的问题,每个解决方案都是添加#pragma once
or #ifndef/#define/#endif
,但对我来说似乎并非如此。我有一个井字板源文件tttBoard.cpp,如下所示:
#include "stdafx.h"
#include "tttBoard.h"
#include <string>
class tttBoard {
enum sVal {sEmp,sX,sO};
sVal gBoard[3][3];
bool isX;
tttBoard::tttBoard() {
}
void Draw() {
}
void Move(int x, int y) {
}
char* getValue(int x, int y) {}
};
以及相应的头文件tttBoard.h:
#ifndef tttBoard_h
#define tttBoard_h
class tttBoard {
public:
tttBoard();
void Draw();
void Move(int x, int y);
char* getValue(int x, int y);
private:
enum sVal {
sEmp,
sX,
sO
};
sVal gBoard[3][3];
bool isX;
};
#endif
但是在编译时遇到以下错误:
tttboard.cpp(5): error C2011: 'tttBoard' : 'class' type redefinition
tttboard.h(4) : see declaration of 'tttBoard'
有任何想法吗?