У меня есть этот один объект, который пытается вызвать функцию в функции другого класса. Эта функция выглядит следующим образом (Принадлежит к классу «Игрок»):C++: C2511: Перегруженная функция-член не найдена. проблемы при использовании 'this'
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, так что, может быть, мне не хватает некоторых из основных принципов о указателях и ссылках, однако я мог понять, почему существует несоответствие типов здесь.
Заранее спасибо
Сначала исправьте первую ошибку. Похоже, что все это каскадные ошибки. Когда он достигает объявления метода 'play' в заголовке, видимо, он не знает, что такое' Game'. Это объявлено или предварительно объявлено до этого? – Cameron