Я ищу ответы, но я не могу найти соответствующую информацию по этому вопросу. Давайте рассмотрим пример:Список аргументов переменных 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 –
вариативные функции: http://en.cppreference.com/w/cpp/utility/variadic и variadic templates from C++ 11: http://www.cplusplus.com/articles/EhvU7k9E/ – CCJ
Вы не можете передавать объекты с определенными пользователем конструкторами. –