Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
Type casting error
-
During compilation occures error on line represented below in description. Description of the error:
... : expected primary-expression before '>' token
this->listOfPairs = settings->value< QList< QPair< QString, QString> > >("Users/" + name + "/KeysList");Where '>' token mensioned above is the last '>' token in the error message snippet.
The variables listOfPairs and **settings have QList< QPair< QString, QString> > and QSettings * types respectively.Thanks in advance for any help.
Во время компиляции программы возникает ошибка в строке представленной в описании ошибки. Где упомянутый '>'-знак - это последний '>'-знак приложенного отрывка описания ошибки.
Переменные listOfPairs и settings имеют типы QList< QPair< QString, QString> > и QSettings * соответственно. Заранее благодарен за любую помощь.
-
Hi, settings->value() is not a template, that's why you get compiler error.
The settings object I think can only give you a QString, then you have to split it yourself into a QPair<QString,QString> for example like this:
QStringList sl = settings->value("Users/" + name + "/KeysList").toString().split(":"); // just guessing your separator is : QPair<QString,QString> p = qMakePair(sl[0],sl[1]); // now you can append p to your list :-)
-
Yes, it works. But I found another way of that problem solving. Using of nesting returned Qvalue with qvariant_cast<QList< QPair< QString, QString> > >() also works.
Thanks for answer.