你好,我在eclipse中工作过c ++ 在XO.h中
class Master
{
private:
char board[3][3];
public:
Master();
void change_board(int choice[1],char color);
void start_play(Maximizer,Minimizer);
void end(char winner);
char winner();
void play(Maximizer,Minimizer);
};
class Maximizer{};
class Minimizer{};
在Xo.cpp中
void Master::start_play(Maximizer x ,Minimizer o)
{play(x,o);
}
但Eclipse生成错误“void Master::start_play(Maximizer, Minimizer)' does not match any in class Master
的原型”
,请帮帮我
答案 0 :(得分:3)
我认为问题在于Maximizer
和Minimizer
原型声明时start_play
和play
尚未知。将class Maximizer{};
和class Minimizer{};
移至Master
的定义之上。
class Maximizer{};
class Minimizer{};
class Master
{
private:
char board[3][3];
public:
Master();
void change_board(int choice[1],char color);
//above declaration of Maximizer and Minimizer required
void start_play(Maximizer,Minimizer);
void end(char winner);
char winner();
//above declaration of Maximizer and Minimizer required
void play(Maximizer,Minimizer);
};
原来Master
中的原型与后面的函数定义不匹配,因为在声明原型的时候,Maximizer
和Minimizer
还不是已知的类型,在你的功能定义时,它们是。