什么都没有提升功能

时间:2014-10-08 21:55:04

标签: c++ boost boost-function

我目前在我的dll文件中使用以下代码:

typedef boost::function<void(int)> Function_Callback_type;

#pragma data_seg(".SHARED")
int common = 0 ;
Function_Callback_type  funct_callback;
#pragma data_seg()
#pragma comment(linker, "/section:.SHARED,RWS")

现在我想为funct_callback分配一个值。我读到如果在dll文件的共享数据段中保留了某些内容,则需要对其进行初始化。我的问题是:如何将funct_callback初始化为空?

1 个答案:

答案 0 :(得分:1)

  

我的问题是如何将funct_callback初始化为空?

如果您的意思是“无功能”或“无内容”:不要做任何事情,默认构造函数会自动调用。

如果要分配一个不起作用的空函数,请使用lamda

Function_Callback_type  funct_callback = [] (int) {};

或者自己定义一个空函数并指定它。 (或者带有空函数调用操作符的functor类,并指定该类类型的临时类)