C ++:C2511:找不到重载的成员函数。使用'this'时的问题

时间:2016-03-22 21:58:52

标签: visual-studio-2013

我有一个这样的对象试图在另一个类的函数中调用一个函数。该函数看起来像这样(属于'Player'类):

void play(Game *const currentGame, int x, int y);

当我尝试从另一个对象(Game类)中调用此函数时,如下所示:

player->play(this, x, y)

在编译过程中我遇到了这些错误:

Error   1   error C2061: syntax error : identifier 'Game'   c:\users\shaqed\documents\visual studio 2013\projects\exe3\tictactoe.h  24  1   Exe3
Error   3   error C2511: 'void Player::play(Game *const ,int,int)' : overloaded member function not found in 'Player'   c:\users\shaqed\documents\visual studio 2013\projects\exe3\tictactoe.cpp    40  1   Exe3
Error   4   error C2660: 'Player::play' : function does not take 3 arguments    c:\users\shaqed\documents\visual studio 2013\projects\exe3\tictactoe.cpp    158 1   Exe3

我来自Java,所以也许我缺乏关于指针和引用的一些核心原则,但是我可以弄清楚为什么这里存在类型不匹配。

提前致谢

1 个答案:

答案 0 :(得分:0)

我用相同的编译错误重复了你的问题。我想你已经忘记了在你的方法结束时添加身体。像:

void play(const Game * currentGame,int x,int y){}