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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ayas
Сообщений: n/a
#1

Что тут не так? - C++

21.10.2012, 07:45. Просмотров 316. Ответов 1
Метки нет (Все метки)

Всем привет!

Объясните пожалуйста почему этот код работает некорректно:

C++
1
2
3
4
while (count--)
{
    map->insert(std::pair<std::string, item *>(va_arg(arguments, char *), va_arg(arguments, item *)));
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2012, 07:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Что тут не так? (C++):

Что тут не так? - C++
# include &lt;iostream&gt; using namespace std; int number ; int department ; char name1 ; char name2 ; char domicile ; ...

что тут не так??? - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; #include &lt;math.h&gt; #define size int main; void swap(); { int...

Что тут не так? - C++
Не понимаю - почему программа не работает... Если все string Заменить на массивы char, то всё нормально работает. В чем дело? #include...

Что тут не так? - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; bool is_it(char *); int main(){ char *str=new char; cout...

Подскажите,что тут не так? - C++
# include &lt;iosDream.h&gt; int main { int counter != 0 ; loop; counter ++ ; cout&lt;&lt; &quot;counter :&quot; &lt;&lt;counter&lt;&lt;&quot; n &quot; if...

строки. что-то тут не так - C++
вот код //Программа удаления из строки символов '0..9' #include&lt;iostream&gt; // заголовыочный файл с описаниями функций ввод\вывод ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
soft.creator
104 / 104 / 4
Регистрация: 17.10.2010
Сообщений: 283
21.10.2012, 13:43 #2
Я бы написал так:
C++
1
2
3
4
5
6
while (count--)
{
    std::string str(va_arg(arguments, char *));
    item* i = va_arg(arguments, item *);
    map->insert(std::make_pair(str, i));
}
Связано это с тем, что компилятор имеет право изменять порядок вычисления аргументов функции с целью оптимизации. С большой вероятностью, это у Вас и случилось
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2012, 13:43
Привет! Вот еще темы с ответами:

Делаю сапёр. что тут не так???? - C++
#include&lt;iostream.h&gt; #include&lt;dos.h&gt; #include&lt;time.h&gt; #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #include&lt;conio.h&gt; int main (void) ...

Поясните чайнику что тут не так - C++
Всем доброго времени суток. Вот как уже месяц учусь на компьютерного инженера. И всё было замечательно, до первой лабораторной по...

Товарищи программисты, что то тут со стеком не так - C++
Нужно Создать стек, содержащий целые числа. Вставить нулевой элемент после последнего четного элемента. Порядок вывода элементов...

Выдает ошибку,тут что не так? Простейший класс - C++
#include&lt;conio.h&gt; #include&lt;io.h&gt; #include&lt;string.h&gt; #include&lt;iostream.h&gt; #include&lt;math.h&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru