怎么在scheduleonce 参数里传递参数

主题 : 关于【怎么在schedule里面传参数】的疑问
级别: 新手上路
可可豆: 54 CB
威望: 54 点
在线时间: 5(时)
发自: Web Page
来源于&&分类
关于【怎么在schedule里面传参数】的疑问&&&
在网上搜到了这么个帖子看到斑竹有回复,起初我是欣喜的。。。然而当我试验的时候发现好像并没有什么卵用。我的报错和第二页一个哥们一样,也是【显示“没有参与匹配的重载函数” 】然后我看了一下源代码。里面斑竹回复的应该是想调用Scheduler::schedule(const ccSchedulerFunc& callback, void *target, float interval, unsigned int repeat, float delay, bool paused, const std::string& key);这个函数吧。可是ccSchedulerFunc 的typedef std::function&void(float)& ccSchedulerFunc这个声明不是还是只能接受一个float参数的函数么?所以斑竹提供的那种方式应该是根本行不通的才对吧。。。话说我也是最近才接触c++11的新东西,如果理解错了请指正~但是std::bind和std::function配套使用,应该是需要保证函数的参数格式和返回格式都完全一样的吧???啊西坝,求助啊!怎么在schedule里面传参数啊。。。
UID: 300874
发帖: 2378
可可豆: 3131 CB
威望: 3189 点
在线时间: 1378(时)
发自: Web Page
看下这个:
级别: 新手上路
可可豆: 54 CB
威望: 54 点
在线时间: 5(时)
发自: Web Page
回 1楼(偶尔e网事) 的帖子
所以最终的解决方案是用lambda表达式捕获外部变量的方式来模拟传参对吧????那我感觉这个帖子里面讲的方法实际上是不正确的对吧?
级别: 骑士
可可豆: 673 CB
威望: 673 点
在线时间: 217(时)
发自: Web Page
回 2楼(qiannianmen_11) 的帖子
直接用lambda捕获外部变量来的简单些
UID: 300874
发帖: 2378
可可豆: 3131 CB
威望: 3189 点
在线时间: 1378(时)
发自: Web Page
回 2楼(qiannianmen_11) 的帖子
实际上是把一个函数绑成另一个函数(具体看下std::bind应该可以理解)。欺骗schedule传参。那个文章。小塔传的是一个局部变量,所以挂了。
级别: 新手上路
可可豆: 54 CB
威望: 54 点
在线时间: 5(时)
发自: Web Page
回 4楼(偶尔e网事) 的帖子
哦哦哦!好的,我研究研究,还可以欺骗么!跪谢!
关注本帖(如果有新回复会站内信通知您)
苹果公司现任CEO是谁?2字 正确答案:库克
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版安卓技术(442)
schedule的意思(时间表、进度表)
timer.schedule(new TimerTask(){ void run()},0, 60*60*1000);
timer.schedule(new MyTask(event.getServletContext()), 0, 60*60*1000);
第一个参数&new MyTask(event.getServletContext())&:
是 TimerTask 类,在包:import java.util.TimerTask .使用者要继承该类,并实现 public void run() 方法,因为 TimerTask 类实现了 Runnable 接口。
第二个参数&0&的意思是:(0就表示无延迟)
当你调用该方法后,该方法必然会调用 TimerTask 类 TimerTask 类 中的 run() 方法,这个参数就是这两者之间时间的差值,也就是说,用户调用 schedule() 方法后,要等待这么长的时间才可以第一次执行 run() 方法。
第三个参数&60*60*1000&的意思就是:
(单位是毫秒60*60*1000为一小时)
(单位是毫秒3*60*1000为三分钟)
第一次调用之后,从第二次开始每隔多长的时间调用一次 run() 方法。
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:158055次
积分:2511
积分:2511
排名:第13340名
原创:12篇
转载:480篇
评论:11条
(2)(17)(4)(14)(15)(2)(1)(7)(17)(5)(1)(9)(3)(20)(13)(5)(7)(3)(6)(14)(11)(5)(3)(1)(4)(4)(2)(7)(6)(9)(27)(25)(44)(52)(129)(3)Pages: 2/2
主题 : 【已解决】怎么在schedule里传递参数呀?
级别: 新手上路
可可豆: 82 CB
威望: 72 点
在线时间: 72(时)
发自: Web Page
回 5楼(小塔) 的帖子
在可以使用C++11特性的情况下,这方法很好很强大,要是不能使用这个特性情况下,还有其他办法吗?求指教!谢谢
勇敢的做好一名开发者
UID: 231210
可可豆: 542 CB
威望: 450 点
在线时间: 590(时)
发自: Web Page
传参问题完全可以用类成员变量来解决, 就是麻烦点, 还要初始化赋值销毁什么的..
级别: 新手上路
可可豆: 82 CB
威望: 72 点
在线时间: 72(时)
发自: Web Page
回 5楼(小塔) 的帖子
还有一个问题,怎么知道一个schedule已经执行完了?比如,启动schedule_selector时执行20次,怎么知道20次已经执行完了?
勇敢的做好一名开发者
级别: 新手上路
可可豆: 19 CB
威望: 19 点
在线时间: 38(时)
发自: Web Page
回 5楼(小塔) 的帖子
为什么我用了你的方法schedule不认呢?显示“没有参与匹配的重载函数”
级别: 新手上路
可可豆: 1 CB
威望: 1 点
在线时间: 0(时)
发自: Web Page
schedule跑了起来,咋让停下了呀????
级别: 新手上路
可可豆: 8 CB
威望: 8 点
在线时间: 47(时)
发自: Web Page
这样写,怎么取消定时啊,小塔
级别: 新手上路
可可豆: 8 CB
威望: 8 点
在线时间: 47(时)
发自: Web Page
回 14楼(qwerter) 的帖子
请问您怎么解决停止的
级别: 新手上路
可可豆: 8 CB
威望: 8 点
在线时间: 47(时)
发自: Web Page
求回复啊,楼主,谢谢
级别: 新手上路
可可豆: 8 CB
威望: 8 点
在线时间: 47(时)
发自: Web Page
回 14楼(qwerter) 的帖子
this-&unschedule(”key值“);
级别: 新手上路
UID: 381020
可可豆: 62 CB
威望: 62 点
在线时间: 91(时)
发自: Web Page
把回调写成一个方法, 然后在使用的地方,用function包装一层就行了,把自己需要的参数直接传进去.function()&& &&&& call(par1,par2)end
Pages: 2/2
关注本帖(如果有新回复会站内信通知您)
苹果公司现任CEO是谁?2字 正确答案:库克
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 浏览移动版}

我要回帖

更多关于 struts2怎么传递参数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信