我正在尋找答案,但是我找不到任何相關信息。讓我們的例子: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