如何将参数绑定到构造函数?
How do I bind arguments to a constructor?
如上所述,我想使用std::bind
创建一个函数,该函数在调用时返回使用构造函数构建的对象,该构造函数具有如下默认参数:
#include <functional>
class X
{
int x_, y_;
public:
X(int x, int y): x_(x), y_(y)
{
}
};
int main() {
auto fun = std::bind(&X::X, 1, 2);
X x = fun();
}
相反,我收到以下编译器错误:
错误:在此上下文中,对"X"的限定引用是构造函数名称而不是类型
错误:函数样式强制转换或类型构造的预期"(" 参考这一行:
auto fun = std::bind(&X::X, 1, 2);
注释回答了这个问题。显然,std::bind
不能与构造函数和析构函数一起使用,因为它们不能获取其地址。感谢Eugene,The Philomath和molbdnilo。
相关文章:
- 将自由函数绑定为类成员函数
- 有没有办法将重载的类函数绑定到函数对象?
- 如何将类 1 的 std::函数绑定到类 2 的函数?
- 如何将 STL 队列推送函数绑定到 std::函数?
- 如何在 C# 中将带有参数的函数绑定到包中
- 如何仅使用 c/python API 将 c++ 成员函数绑定到 python?
- 将非静态函数绑定到回调时出现问题
- 意外输出..函数绑定在虚拟表中的发生方式
- 将类实例函数绑定到 v8::FunctionTemplate
- 是否可以将匿名 lambda 函数绑定到对象以允许 lambda 中的代码访问对象的成员?
- 使用JNI将C 类成员函数绑定到Java
- 将静态成员函数绑定为回调
- 如何使用 boost::bind 将静态成员函数绑定到 boost::function
- 如何将C++函数绑定到xaml文本块属性
- boost::使用成员函数绑定回调的帮助
- 如何将成员函数绑定到 C++14 中的对象
- std::函数绑定到成员函数
- 将带有unique_ptr参数的函数绑定到 std::function<void()>
- 将常规函数绑定到 std::function
- std::将成员函数绑定到 nullptr 处的实例,导致看似随机的 this 指针