现在,我正在努力将lambda引用到另一个* .cpp文件中。但是,我不知道如何实现它。
假设我有一个位于money.cpp的lambda函数,那么,我怎样才能在我的dollar.cpp中引用它?
任何人都可以帮助我吗?任何帮助将不胜感激。
这是我的lambda函数:
auto MaxComDiv = [](int num1, int num2) mutable -> int
{
int remainder;
while(remainder = num1 % num2)
{
num1 = num2;
num2 = remainder;
}
return num2;
}
更新 事实上,我最近正在学习C ++ 11,这些代码方式在我们的实际工作中是不允许的。这个问题的目标是,我想尝试新的东西,这只是我的一种做法。
在软件类别中,我们必须继续学习直到退休。
答案 0 :(得分:3)
如果您需要将MaxComDiv
设为全局,请向标题money.h
添加声明,如下所示:
extern function<int(int,int)> MaxComDiv;
您需要#include <functional>
才能进行编译。
答案 1 :(得分:1)
最好的解决方案是将lambda声明为实际函数。