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

C++11 карта не принимает присваиваемые значения - C++

Восстановить пароль Регистрация
 
uniqueid
1 / 1 / 0
Регистрация: 04.01.2013
Сообщений: 10
24.06.2013, 15:32     C++11 карта не принимает присваиваемые значения #1
Определение enuma и карты:
C++
1
2
        enum class template_line {first, second, third, fourth, fifth};
        typedef std::map< template_line, unsigned > template_line_to_val_map;
В коде ниже первое число при выводе на экран - всегда нуль. Почему?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
tag::template_line_to_val_map tag::get_printing_template(template_id const && profile_id, tag_t const & tag_) const
{
    //template_line_to_val_map m;
    //m[template_line::fifth] = 2;
    //std::map<tag::template_id,unsigned> s;
    //s[tag::template_id::second]=2;
    try
    {
        template_line_to_val_map template_ln_to_val_map_;
        template_line line = template_line::first;
        auto data = rdr.read_memory( 
                                    tag_, 
                                    rfid_reader::memory_bank::user, 
                                    printing_template_addr( profile_id ), 
                                    printing_template_bytes_count 
                                );
        for ( auto byte : data )
        {
            if ( line == template_line::fifth ) break;
            template_ln_to_val_map_[line] = static_cast<unsigned>(byte);
            line = static_cast<template_line>(static_cast<unsigned>(line) + 1);
            AfxMessageBox((boost::lexical_cast<tstring>(template_ln_to_val_map_[line]) + tstring(1,byte)).data());
        }
    }
    catch ( std::runtime_error & )
    {
        throw;
    }
//  return m;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2013, 15:32     C++11 карта не принимает присваиваемые значения
Посмотрите здесь:

C++ как мне понять что принимает моя функция какие значения?
в цикле где выводится матрица j принимает какие-то странные значения. Почему? C++
Что принимает какие значения? C++
Вычислить значения функции F на интервале от начального значения до конечного значения C++
Программа не принимает больше одного значения, хотя должна C++
Функция не принимает 0 аргументов C++
C++ Макрос, который принимает два значения (a, b) и возвращает строку "ab"
При вводе действительного Е не принимает значения типа float C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
anmartex
...
 Аватар для anmartex
1700 / 1193 / 494
Регистрация: 12.02.2013
Сообщений: 1,978
25.06.2013, 20:06     C++11 карта не принимает присваиваемые значения #2
Сначала посмотрите на строку 20. Здесь вы заносите значение byte по ключу line. В следующей строке 21, вы инкриминируется ключ на единицу. И вот уже в строке 22 вы пытаетесь вывести значение по уже изменённому ключу, а его у вас нет, поэтому вы и видите 0. Поменяйте строку 21 со строкой 22 местами.
Yandex
Объявления
25.06.2013, 20:06     C++11 карта не принимает присваиваемые значения
Ответ Создать тему
Опции темы

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