2011-12-26 5 views
1

Когда я использую этотОшибка при использовании schedule_selector в Cococs2d-х

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 требуется как унарный операнд «&». Пожалуйста Clearify его, что вопрос, как это работает ....

И смотрите любую ссылку или PDF для Cocos2d-X учебник & исследования ...

Спасибо вам Вея много ....

ответ

2

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

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 возникает, когда вы назначаете, когда вам нужно сравнивать. Надеюсь, это поможет. :)