Ошибка при использовании schedule_selector в Cococs2d-x - PullRequest
1 голос
/ 26 декабря 2011

Когда я использую этот

   void addCats();//Declareation in .h file
   this->schedule( schedule_selector(HelloWorld::addCats()), 2.0 );//addCats is a function

Работает нормально Каждый раз вызывается функция addCats, но когда я использую

 //In.h file
 void addCats(int);
 //In.cpp file
 int i=10;
 this->schedule( schedule_selector(HelloWorld::addCats(i)), 2.0 );

, тогда выдается ошибка :: lvalue требуется какунарный '&' операнд.Пожалуйста, проясните это, в чем проблема, как это работает ....

И, пожалуйста, обратитесь к любой ссылке или PDF для обучения и изучения Cocos2d-X ...

Большое спасибо....

1 Ответ

2 голосов
/ 02 марта 2012

Привет, я тоже попробовал это и столкнулся с проблемой .. После небольшого поиска в Google и выяснения структуры я обнаружил, почему это работает так .. Когда вы углубляетесь в его структуру .. Он преобразует его как

addCats(CCTime time)

Вы не можете назначить переменную в C ++, как это, на самом деле это сравнение с данным временем 2.0.

Так что попробуйте свой метод, как этот

//In.h file
 void addCats(cocos2d::ccTime time);
 //In.cpp file

this->schedule( schedule_selector(HelloWorld::addCats), 2.0 );
addCats(CCTime time)
{

}

Используйте точку останова в вашем методе. Вы узнаете, что ваше time значение равно 2,0. Эта проблема lvalue возникает, когда вы назначаете, когда вам нужно сравнить. Надеюсь это поможет. :)

...