8
我现在使用此代码:(用户不能打电话argc
与任意数量的参数的函数)获取参数的数量
size_t argc(std::function<Foo()>)
{ return 0; }
size_t argc(std::function<Foo(Bar)>)
{ return 1; }
size_t argc(std::function<Foo(Bar, Bar)>)
{ return 2; }
size_t argc(std::function<Foo(Bar, Bar, Bar)>)
{ return 3; }
// ...
但它是有点丑陋和限制有没有更好的方法来做到这一点?
注意:返回类型和参数类型总是相同的。我知道我可以使用模板来接受任何类型,但我不需要它。
UMH的参数类型并不总是一样的... – 2011-12-27 13:18:13
@ JohannesSchaub - litb我认为这意味着他们总是相同这些例子:'Foo'作为返回值,'Bar'作为所有参数。 – 2011-12-27 13:33:37