Вариальные функции аргументы плохой порядок в некоторых случаях [дублировать]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Вариальные функции аргументы плохой порядок в некоторых случаях [дублировать]

Сообщение Anonymous »

Я пытался уменьшить свой код, и я нашел что -то странное с переменными функциями (хотя, безусловно, из -за моего отсутствия знаний) < /p>
Так что у меня есть тот кусок кода, который работает : < /p>

Код: Выделить всё

void Text::textTypePtr(Root* text, ...)
{
va_list args;
va_start(args, text);
Interact::ModifiedKey modKey = va_arg(args, Interact::ModifiedKey);
Keyboard::Key key = va_arg(args, Keyboard::Key);
static_cast(text)->textType(modKey, key);
va_end(args);
}
< /code>
А затем этот фрагмент кода, который меняет порядок Args < /p>
void Text::textTypePtr(Root* text, ...)
{
va_list args;
va_start(args, text);
static_cast(text)->textType(va_arg(args, Interact::ModifiedKey), va_arg(args, Keyboard::Key));
va_end(args);
}
Теперь я боюсь, что первый кусок кода, сработавший каким -то чудом, может кто -нибудь помочь мне понять, что происходит?

Подробнее здесь: https://stackoverflow.com/questions/632 ... some-cases
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»