【发布时间】:2023-03-31 13:58:01
【问题描述】:
#include <functional>
struct A
{
int func(int x, int y)
{
return x+y;
}
};
int main()
{
typedef std::function<int(int, int) > Funcp;
A a;
//Funcp func = std:::bind(&A::func, &a);
Funcp func = std::bind(&A::func, a, std::placeholders::_1);
return 0;
}
我在上述两个绑定函数中都遇到了错误:
error C2825: '_Fty': must be a class or namespace when followed by '::'
语法错误在哪里?我正在使用 Visual Studio 2010
【问题讨论】:
-
您需要 _2 和 _1 但这似乎不是您遇到的错误。是否包含正确的占位符标题?
-
它在 _2 变量之后起作用
-
我希望编译器会给出正确的错误。这是明显的错误,但编译器在说什么并不明显。
标签: c++ function-pointers