Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Alex_C от Июль 04, 2012, 16:50



Название: QVector - заменить значение
Отправлено: Alex_C от Июль 04, 2012, 16:50
Есть

Код
C++ (Qt)
struct S
{
 QString s1;
 QString s2;
};
 
QVector<S> *tmp;
 
 

Создали tmp, добавили в него какие то значения.
Теперь мне надо изменить s1 у десятого элемента вектора. Как? Неужели только replace?
пробовал так
tmp[10].s1 = "QQQQ"; - ругается.


Название: Re: QVector - заменить значение
Отправлено: mutineer от Июль 04, 2012, 16:52
Во-первых, неплохо бы привести выхлоп компилятора или кто там на тебя ругается
Во-вторых, указатели стоит разыменовывать при таком использовании (*tmp)[10].s1 = "QQQQ";


Название: Re: QVector - заменить значение
Отправлено: Igors от Июль 04, 2012, 17:02
Код
C++ (Qt)
(*tmp)[10].s1 = "QQQ";
 
Если tmp указатель, то tmp[10] - ссылка на 10-й элемент в массиве tmp (т.е. не те [] берутся)


Название: Re: QVector - заменить значение
Отправлено: Alex_C от Июль 04, 2012, 17:16
Спасибо!!!