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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.87
Nagllort
0 / 0 / 0
Регистрация: 31.03.2012
Сообщений: 4
#1

Инициализация вектора структур - C++

31.03.2012, 21:59. Просмотров 2338. Ответов 2
Метки нет (Все метки)

Не могу инициализировать вектор.
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    struct cmd{
    QString name;
    qint16  code;
 
};
 
QVector <cmd> commands={
        "movl",0x8B,
        "movb",0x88,
        "inc",0x0,
        "xorl",0x0,
        "xorb",0x0,
        "stosb",0x0,
        "addb",0x0,
        "jo",0x0,
        "jmp",0x0,
        "int",0xcd   
};<--51 стр.
Ошибки:
51: ошибка: in C++98 'commands' must be initialized by constructor, not by '{...}'
51: ошибка: could not convert '{"movl", 139, "movb", 136, "inc", 0, "xorl", 0, "xorb", 0, "stosb", 0, "addb", 0, "jo", 0, "jmp", 0, "int", 205}' from '<brace-enclosed initializer list>' to 'QVector<cmd>'
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2012, 21:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Инициализация вектора структур (C++):

Инициализация структур - C++
Не могу уловить по какой причине первый вариант рабочий: А этот нет:

Инициализация массива структур - C++
Почему после инициализации первого массива программа выходит из цикла ? как сделать чтобы инициализировала все 3 объекта структуры ...

Инициализация вектора - C++
Как создать и сразу инициализировать вектор числами 5 3 1 3 5 2 5?

Инициализация вектора - C++
Как правильно инициализировать двумерный символьный вектор? Пробовал вот так, не получилось vector&lt; vector&lt;char&gt; &gt; map(2,...

Инициализация вектора - C++
у меня в классе есть vector из string (константный, просто строки нужны как образец для других функций), в конструкторе соответственно надо...

Инициализация вектора - C++
Почему вектор не хочет инициализироваться при обьявлении? vector&lt;int&gt; vec = {1,2,3}; Имеем Error (active) E0289 no instance...

2
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
31.03.2012, 22:14 #2
Цитата Сообщение от Nagllort Посмотреть сообщение
51: ошибка: in C++98 'commands'must be initialized by constructor
создать массив, дальше вектор инициализировать этим массив или воспользоваться std::copy
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
31.03.2012, 22:25 #3
Как вариант, добавить флаг для сборки с C++11 и забабахать из этого initializer_list.
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <QVector>
#include <QString>
 
struct cmd{
   QString name;
   qint16  code;
 
};
 
int main()
{
    QVector <cmd> commands={
        { "movl", 0x8B },
        { "movb", 0x88 }
    };
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2012, 22:25
Привет! Вот еще темы с ответами:

Инициализация массива структур из файла - C++
Здравствуйте,при реализации программы столкнулся с такой проблемой: нужно из файла,где записанный студенты их имена.. возраст...пол и т.д ,...

Инициализация вектора масивом - C++
Нужно иницилизировать вектр элементами массива всеми возможными способами, которые вы знаете Я написала все которые нашла. Можете...

Инициализация вектора в стиле С++0х - C++
У меня связка последний Code::Blocks+ последний minigw, но в коде вот такая инициализация вектора: vector&lt;int&gt; ar={1,2,3,4,5,6}; ...

Инициализация вектора массивом - C++
Можно ли как-то упростить эту запись? int fib={1,1,2}; int tri={1,3,6}; int luc={1,3,4}; int sqr={1,4,5}; int...


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

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

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