我如何 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);
}