Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Организация памяти для текстового редактора http://www.cyberforum.ru/cpp-beginners/thread164732.html
/* * Реверанс для модераторов: Я самостоятельно скопировал эту тему из раздела "Алгоритмы" (хотя сам её и создал там) нарушая правила, прошу меня простить и не банить. */ Подскажите пожалуйста как...
C++ О среде разработки Здраствуйте,форумчане!Начал изучение языка с++ и возникли сложности,разработка ведется в Microsoft Visual C++ 2008 Express Edition,вроде написал программу,но тут возникла проблема с сохранением в... http://www.cyberforum.ru/cpp-beginners/thread164710.html
Объединение множеств C++
Задача. Написать программу, которая объединяет 2 множества. Вот мой код. Мне выдаёт ошибку, что последовательность не отсортирована. В чём ошибка? Подскажите, пожалуйста. #include <iostream>...
Выполнение неопределенного количества методов C++
Не знал как точнее сформулировать название темы, так что если слабо соответствует действительности, то прошу прощения :) Собственно сама задачка. Есть некоторая система (программа), которая при...
C++ Графическая интерпретация http://www.cyberforum.ru/cpp-beginners/thread164686.html
Помогите дать графическую интерпретацию списковой структуры: (a,(b),(c,(),d),e,(f))
C++ Вопрос по файлах в С++ Возник вопрос по файлах. Эсть масив float B={0}; заполнений елементами, необходимо значения перенести в файл, которий потом открить с помощю блокнота или екселя или графера и тд. создаю и... подробнее

Показать сообщение отдельно
yapopovko
0 / 0 / 0
Регистрация: 13.03.2010
Сообщений: 37

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

10.09.2010, 00:49. Просмотров 928. Ответов 8
Метки (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
property(string & name_c, short nesting_c, string & level1, ...)
    {
        nesting=nesting_c;
        name=name_c;
        va_list p;
        va_start(p, level1);
        vector<string> levels_c(nesting_c-1); //так как первый элемент - нулевой
        levels_c.insert(levels_c.begin(),level1);
        iterPrint<10>(levels_c.begin(),levels_c.end());
        string vspom;
        for(; nesting_c; nesting_c--){
            cout<<va_arg(p, string);
            cout<<vspom;
            levels_c.insert(levels_c.begin(),vspom);
        }
        //levels=levels_c;
    }
И при этом:
C++
1
2
3
4
5
6
7
string c1="teststring";
    string c2="test";
    cout<<sizeof(string)<<' ';
    cout<<sizeof(c1)<<' ';
    cout<<sizeof(c2)<<' ';
Даст результат:
28 28 28
Следовательно, смещение при использовании va_arg каждый раз должно быть одинаковым. Но возникает ошибка "Out of memory". Что не так? Почему?
Если не string, то что использовать для передачи строк? Возможно ли использовать массивы char?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.