Russian Qt Forum
Октябрь 04, 2024, 06:24 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QList и struct  (Прочитано 7201 раз)
tall32
Гость
« : Январь 31, 2014, 19:44 »

Доброго времени суток.

Изучаю Qt. И в своем проекте нужен был динамический массив со структурой.
В самой структуре может быть N параметров.

Пример:

Пытался сделать:
Код:
struct myStruct
{
    QString name;
    int index;
    ....
}

QList<myStruct> list;


Выходит ошибка:
    error:   trying to instantiate 'template<class T> class QList'

Погуглил но ни чего конкретного не нашел. Может не там искал.

Реализовал так:
Код:
class myClass
{
    public:
      QString name;
      int index;
    ....
}

QList<myClass> list;

так все работает, но не нравится подобная реализация.
Не могли бы вы подсказать как будет правильно реализовать мою задачу?
Или подсказать в какую сторону мне копать)))

В заранее спасибо.
Записан
Johnik
Крякер
****
Offline Offline

Сообщений: 339


Просмотр профиля
« Ответ #1 : Январь 31, 2014, 19:56 »

проблем быть не должно с данным кодом

Какой компилятор?
Все необходимые хидеры подключаются?
qmake выполнен, перед make?
Записан
tall32
Гость
« Ответ #2 : Январь 31, 2014, 20:15 »

Qt Creator 2.4.1 (Qt 4.8.0 )
make 3.81
QMake version 2.01a
Записан
tall32
Гость
« Ответ #3 : Январь 31, 2014, 20:19 »

Да все подключено, если я убираю строку


Код:
....
QList<myStruct> list;
....
то всё компилируется и запускается.
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #4 : Январь 31, 2014, 20:22 »

Определени структуры должно завершаться ;
Записан
tall32
Гость
« Ответ #5 : Январь 31, 2014, 20:29 »

Код:
struct myStruct
{
    QString name;
    int index;
    ....
};

QList<myStruct> list;

так?

у меня в коде так и написано, просто в начале сообщения опечатался.
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #6 : Январь 31, 2014, 20:45 »

странно. Не должно бы никакой разницы.
Записан
tall32
Гость
« Ответ #7 : Январь 31, 2014, 20:49 »

    struct myStruct
    {
        QString name;
        int index;
    };

    QList<myStruct>list;

и нету разницы(((....

есть только ошибка
   ошибка: invalid type in declaration before ';' token

Но я что то не пойму в каком месте должна быть точка с запятой?
Записан
Johnik
Крякер
****
Offline Offline

Сообщений: 339


Просмотр профиля
« Ответ #8 : Январь 31, 2014, 21:02 »

гадание на кофейной гуще...

вот код:
Код
C++ (Qt)
#include <QString>
#include <QList>
 
struct Foo
{
QString name;
int index;
};
 
int main(int argc, char *argv[])
{
QList<Foo> f;
return 0;
}
у меня компилится и отрабатывает без проблем.

Записан
tall32
Гость
« Ответ #9 : Январь 31, 2014, 21:10 »

Всем спасибо за помощь.

Так и не понял в чем была ошибка.

Вроде заработало.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.077 секунд. Запросов: 23.