函数指针的可变函数

the*_*ack 0 c++ function variadic-functions

有没有办法将可变参数函数强制转换为这样的函数指针,这是合法的吗?我要求C和C++,但由于这个结构存在于两种语言中,我将两个问题都放在一起.

extern int test(int, ...);
auto testptr = (int(*)(int, int, long)) &test;
Run Code Online (Sandbox Code Playgroud)

谢谢,杰克

Lig*_*ica 5

C风格的可变功能是他们自己的特殊野兽.他们的论点必须用va_list函数族解开.与非可变函数不兼容,它们不是宏,也不是.

考虑到你的使用auto我假设你问的是C++,尽管有双重标记.尽量避免使用C++中的函数.