Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
Haklag
4 / 4 / 0
Регистрация: 21.06.2012
Сообщений: 61
22.02.2014, 13:23     Функция с неограниченным количеством аргументов #1
Вообщем проблема: написал функцию неограниченным количеством аргументов под виндой (компилятор mingw) все работает как часы, но под unix (компилятор gcc) начинаются проблемы, а точнее правильно берет только 1 аргумент, а остальные берет от балды (-1633125008 327571911603200 32675 1900239536 и.т.д).
Ребят помогите, что и где я накосячил?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.02.2014, 13:23     Функция с неограниченным количеством аргументов
Посмотрите здесь:

Функции с произвольным количеством и типом аргументов. C++
C++ Написать программу, которая реализует функцию с неограниченным количеством параметров, организовывающую форматированный вывод на экран.
C++ подскажите плз функцию с неограниченным количеством параметров
Функция с переменным количеством аргументов вызывает out of memory C++
Есть функция с кучей аргументов, как её вызвать в другой функции (если половины аргументов у меня нет)? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2426 / 1598 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
22.02.2014, 13:25     Функция с неограниченным количеством аргументов #2
Телепатов нет, показывайте код.
Haklag
4 / 4 / 0
Регистрация: 21.06.2012
Сообщений: 61
22.02.2014, 13:26  [ТС]     Функция с неограниченным количеством аргументов #3
функция
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void matrix::addElementsToMatrix(int n,...)
{
    int *p = &n;
    unsigned int x=0,y=0;
    while(true)
    {
        int tmp = *p;
        if(x>(numLine-1))
            x=0, y++;
        if(y>(numColumn-1))
            break;
        setValueIn(x,y,tmp);
#ifdef LOG
        std::cout<<"\nmatrix value: "<<_matrix[x][y] <<"\nx: "<< x <<"\ny: "<< y <<"\nnow: "<< tmp<<"\np: "<<p<<"="<<*p<<"\n====================================";
#endif
        x++; *p++;
    }
 
}
вызов
C++
1
2
3
    mx.addElementsToMatrix(1,2,3,
                           4,5,6,
                           7,8,9);
0x10
2426 / 1598 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
22.02.2014, 13:33     Функция с неограниченным количеством аргументов #4
Пример функции с переменным числом параметров - http://www.cplusplus.com/reference/cstdarg/va_start/
Yandex
Объявления
22.02.2014, 13:33     Функция с неограниченным количеством аргументов
Ответ Создать тему
Опции темы

Текущее время: 15:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru