我正在寻找答案,但是我找不到任何相关信息。让我们的例子:C++可变参数列表
class MyClass
{
//member functions and variables
};
void foo(int pivot,...)
{
va_list arguments;
va_start(arguments,pivot);
//va_arg(arguments,???)
va_end(arguments);
}
void bar()
{
MyClass a;
MyClass * b = &a;
const MyClass & c = a;
foo(0,a,b,c);
}
如何参数a
,b
和c
通过呢?按价值,或通过参考和如何使用va_arg请求他们?那么MyClass的构造函数/析构函数呢?在C++标准中,哪种行为是指定的?
'va_arg'的示例:http://en.cppreference.com/w/cpp/utility/variadic/va_arg – 2013-02-22 14:50:19
可变参数函数:http://en.cppreference.com/w/cpp/utility/variadic和来自C++ 11的可变参数模板:http://www.cplusplus.com/articles/EhvU7k9E/ – CCJ 2013-02-22 14:53:11
您不能使用用户定义的构造函数传递对象。 – 2013-02-22 14:57:53