День добрый. Прошу прощения сразу за глупый вопрос, но прошу не отказать в помощи. С типом 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);
то он видит эти поля.
Как мне через умный указатель достучаться до полей?