1
orzfly 2014-08-14 02:28:48 +08:00 1
|
2
zonyitoo 2014-08-14 04:50:00 +08:00
看样子是因为名字太长,被截断了
|
3
nybux 2014-08-14 08:35:09 +08:00 1
1.在Event.cpp的12和13行之间插入
Events Listener::events 2.Event.h的最前面添加 #pragma warning (disable:4503) |
4
raincious OP @nybux
1、好吧,真的fix了。为什么我昨天晚上加来加去不行呢…… 想想看貌似我搞成了Listener::Events events;,定义了一个本地类型,怪不得不行还一个劲的报Events不可访问(唔脸)……看来还是不能太晚睡了…… 2、@orzfly 好吧,我之前其实改成了这样: typedef vector <EventCallback> EventHandlers; typedef struct EventHandler { [空格]EventHandlers Handlers; }; 但是死活报堆空间不足,死活报堆空间不足,死活报堆空间不足。今天一查堆空间不足咋回事: 2.Increase the size of the Windows swap-file. 呵呵。 那貌似就没问题了,就是不知道代码里是不是有Bug。 谢谢各位。 |
5
abscon 2014-08-14 10:50:23 +08:00
路过。还在拨弄函数指针啊,楼主为什么不用boost库呢?
人生苦短,我用boost |
6
raincious OP @abscon 嗯……因为我觉得有点杀猪牛刀的感觉。这程序功能很小的,所以不用那么复杂。而且……我也是纯粹折腾下C++而已。
|
7
tmqhliu 2014-08-14 10:59:13 +08:00
别用函数指针了, 用C++的实现方式吧, C++11 里有 std::function 以及 lambda 以及 auto 和 decltype
|
8
raincious OP @tmqhliu 别劝我了,这是个DLL……,而且我得按照主项目的功能定义来实现。主项目提供的SDK指定了VS2013,而我根本不知道怎么转换成其他版本的……
|
9
abscon 2014-08-14 11:27:42 +08:00
|
10
tmqhliu 2014-08-14 11:48:06 +08:00
@raincious C++11 是指C++语言的版本不是VS的版本,你用VS2013的话支持C++11毫无压力啊,这些新特性异常地好用你还折腾什么函数指针啊
|
11
raincious OP @tmqhliu 不,我的意思是主项目不是C++11的,用了C++11说不定会遇到什么问题(比如不能编译之类的)。而且代码进仓库之后其他人也不一定愿意用C++11来编译。
另外,VS2013里面我尝试了下std::function,没有…… 好了……我接下来再试吧,这个项目就先这样了。 |
12
ioth 2014-08-14 14:56:37 +08:00
好好玩。
|
14
bombless 2014-08-15 09:49:12 +08:00
VS2013上用std::bind和std::function挺爽的。
|