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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QSharedPointer получить данные  (Прочитано 2007 раз)
virtual_root
Гость
« : Август 27, 2012, 12:56 »

День добрый. Прошу прощения сразу за глупый вопрос, но прошу не отказать в помощи. С типом QSharedPointer почти не работала. Сейчас встала необходимость. Проблема в следующем, пишу следующий код6
в .h файле
Код
C++ (Qt)
struct MessageModule
           : public MessageImplHelper<MessageModule,2,19>
   {
       QList <QString>  names;
       QList <QString> versions;
 
       template <class stream_>
       void enumFields(stream_ &stream, EIODirection dir)
       {
           enumField(stream, dir, "listNames", names);
           enumField(stream, dir, "listVersion", versions);
 
       }
   };
   typedef QSharedPointer<MessageModule> _messageModule;
 

в файле .cpp пытаюсь сделать следующее:
Код
C++ (Qt)
_messageModule ptr(new MessageModule);
ptr.data().names.at(i) = _listModule.at(i).name;
но компилятор ругается на ptr.data().names.at(i);
Почему?? как мне достучаться до полей
Код:
       QList <QString>  names;
        QList <QString> versions;
??
Причем если сделаю так:
Код:
MessageModule *u = new MessageModule;
u->names.at(i);
то он видит эти поля.
Как мне через умный указатель достучаться до полей?
Записан
mutineer
Гость
« Ответ #1 : Август 27, 2012, 12:58 »

Тоже через стрелочку - это же указатель, хоть и умный))
Записан
virtual_root
Гость
« Ответ #2 : Август 27, 2012, 13:05 »

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


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