【发布时间】:2015-11-24 10:43:43
【问题描述】:
我想为 cpp 文件中的一个函数创建一个 std::bind,而不是我的主文件,并且也在不同的命名空间中。我遇到的问题是如何在头文件中声明所述函数,因为绑定本身取决于 main.cpp 不可用的变量。
是这样的:
函数.cpp
#include "function.h"
namespace A{
void function(int i) { ... } // supposed to be invisible from outside
namespace A1{
int varA1;
auto func = std::bind(A::function, varA1);
}
namespace A2{
int varA2;
auto func = std::bind(A::function, varA2);
}
}
函数.h
namespace A{
namespace A1{
auto func();
}
namespace A1{
auto func();
}
}
我知道上面的示例不起作用,但是如何更改头文件以修复它?
【问题讨论】:
标签: c++ c++11 header-files declaration stdbind