Название: [Решено] Помогите с QList<T> Отправлено: Joss от Ноября 13, 2009, 01:21 Изучаю XML-RPC Дмитрия Поплавского, пробую подать запрос сразу со списком параметров от клиента:
Код: QList<QString> list; Получаю в ответ: error: 'int xmlrpc::Client::request(QList<T>,QString)' : cannot convert parameter 1 from 'QList<T>' to 'QList<T>' Определение метода в классе Client: Код: int request( QList<Variant> params, QString methodName ); Variant: Код: class Variant : public QVariant { Помогите, новичку, я совсем тут плаваю, спасибо заранее! Название: Re: Помогите с QList<T> Отправлено: pastor от Ноября 13, 2009, 01:57 Код
Название: [Решено] Re: Помогите с QList<T> Отправлено: Joss от Ноября 13, 2009, 02:01 Спасибо pastor,
только что пришел к такому же решению методом тыка, еще пришлось параметры как QString("val") передавать. Вы можете посоветовать, что почитать в С++, чтобы разобраться, почему не получалось иначе передавать список? Я так до сих пор и не понимаю. Спасибо! Название: Re: [Решено] Помогите с QList<T> Отправлено: pastor от Ноября 13, 2009, 02:09 Это простое несоответствие типа параметра функции, она принимает первым параметром QList<Variant>, а ты ей подсовываешь QList<QString>
Название: Re: [Решено] Помогите с QList<T> Отправлено: Joss от Ноября 13, 2009, 02:18 А почему тогда работает пример из библиотеки, там передается обычная строка?
Код: requestIdSum = client->request( "sum", ui.p1->text(), ui.c1->text() ); Код: .... Этот код компилируется и работает, хотя там тоже Variant указан в качестве параметра. Название: Re: [Решено] Помогите с QList<T> Отправлено: Alex Custov от Ноября 13, 2009, 02:36 Этот код компилируется и работает, хотя там тоже Variant указан в качестве параметра. потому что один тип (QString) в этом случае однозначно приводится к другому (Variant). В случае с QList у тебя уже сложный тип, который не приводится к другому. Аналогичный пример - если функция принимает на вход QList<int>, то QList<double> ты ей не передашь. А если принимает int, то double можно передать, потому что double к int приводится, а QList<double> к QList<int> - нет. Название: Re: [Решено] Помогите с QList<T> Отправлено: Joss от Ноября 13, 2009, 02:46 Alex Custov,
спасибо большое! |