如何从成员函数创建一个std :: function而无需键入std :: placeholders :: _ 1,std :: placeholders :: _ 2等 - 我想"放置"所有参数,只保存对象本身.
struct Foo{
int bar(int,float,bool) {return 0;}
};
int baz(int,float,bool) {return 0;}
int main() {
Foo object;
std::function<int(int,float,bool)> fun1 = baz; // OK
std::function<int(int,float,bool)> fun2 = std::bind(&Foo::bar, object); // WRONG, needs placeholders
}
Run Code Online (Sandbox Code Playgroud)
我不想在这个阶段提供参数,我只想在某处存储函数+对象.例如,我想让std :: vector同时具有全局函数和成员函数.使用FastDelegate(fastdelegate::MakeDelegate(object, &Class::function))很容易.
我不想使用lambda,因为它也需要我重新输入参数.我只想要旧的FastDelegate行为.
我想在运行时在Xcode中用C/C++代码显示自定义错误消息.这可以用于自定义assert()函数.
我想显示内联消息,就像SenTestingKit一样:

现在我唯一能做的就是__builtin_trap停在正确的路线上.但是没有显示自定义错误消息.
