1

当我使用这个

   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 is required as unary '&' 操作数。请清除它,问题是什么,它是如何工作的......

请参考任何链接或 PDF 以获取 Cocos2d-X 教程和学习...

非常感谢你....

4

1 回答 1

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 。当您在需要比较时进行分配时,就会出现这个左值问题。希望这可以帮助。:)

于 2012-03-02T06:16:03.130 回答