我如何 return 一个函数的参数个数?
How do I return the number of arguments of a function?
例如,如果我有
int MyFunction(int,...);//no. of parameters is unknown
并且在 main()
MyFunction(1,2,3,4);
返回的值应该是 4.I 我试过 stdarg.h 但是要使用它你必须知道参数的数量,所以它不支持 me.Thanks!
只是 return 个参数包中的参数数量。
template<typename ...Args>
unsigned MyFunction(Args... args) {
return sizeof...(args);
}
int main() {
return MyFunction(1,2,3);
}
您可以学习和使用variadic template
,如下
#include <iostream>
template <typename ... Types>
size_t func(Types ... args){
return sizeof...(args);
}
int main()
{
std::cout << func(1, 2, 3, 4);
}
例如,如果我有
int MyFunction(int,...);//no. of parameters is unknown
并且在 main()
MyFunction(1,2,3,4);
返回的值应该是 4.I 我试过 stdarg.h 但是要使用它你必须知道参数的数量,所以它不支持 me.Thanks!
只是 return 个参数包中的参数数量。
template<typename ...Args>
unsigned MyFunction(Args... args) {
return sizeof...(args);
}
int main() {
return MyFunction(1,2,3);
}
您可以学习和使用variadic template
,如下
#include <iostream>
template <typename ... Types>
size_t func(Types ... args){
return sizeof...(args);
}
int main()
{
std::cout << func(1, 2, 3, 4);
}