C++ Функция с произвольным числом параметров

пишет ошибку:

ошибка: C2360: пропуск инициализации "ival" из-за метки "case"
..\consQT\main.cpp(53): см. объявление "ival"
--------------------------
среда QT C++ библа 4.8.4 статическая сборка. . вро де бы все библы подключаю .. какие только могли бы понадобиться .. а сам код из примера на сайте .. библы там то же указаны.

  • Создавай переменную в фигурных скобках, switch их не любит.
    А вообще произвольное число аргументов - зло. Особенно в плюсах.
  • Ну так объяви переменную до switch, делов то.
  • Qt тут не при чем. Объявление переменной лучше вынести за switch. Чисто теоретический пример:

    switch( expr )
    {
    case value1:
    int var = 333;

    case value2:
    ...
    break;

    case value3;
    ...
    break;
    }

    То есть мы можем оказаться в case val2 двумя способами: expr == value1 (допустим, там не вызывается break) и expr == value2. Но при этом в первом случае в метке value2 переменная var будет определена и инициализирована, а во втором случае - нет.

    Правильно выше сказали о нежелательности функций с переменным числом аргументов. В С++ в этом случае лучше справляется перегрузка или передача массивов объектов.

Вас заинтересует