#c #qt #qt5 #qmap
#c #qt #qt5 #qmap
Вопрос:
У меня возникла проблема с вставкой значений в QMap, и я не могу понять, почему. Я урезал свой код, чтобы просто заставить работать то, что я пытался сделать. Код приведен ниже:
#include <QtCore/QCoreApplication>
#include <QString>
#include <QMap>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString string1 = "a";
QString string2 = "b";
QMap<QString,QString> myMap;
myMap.insert(string1,string2);
return a.exec();
}
Это приводит к следующей карте:
Почему это происходит? Что я делаю не так?
Комментарии:
1. Похоже, вы используете Visual Studio. Вы правильно установили плагин?
2. У меня не было никаких проблем с чем-либо еще, что я делал по QT, я также убедился, что Core выбрано в настройках проекта QT.
3. Это похоже на проблему с наблюдением переменной VS, поскольку у нее возникают проблемы с анализом содержимого переменной. Можете ли вы подтвердить (с помощью qDebug), что содержимое
myMap
действительно неверно?4. вздох . Используя qDebug, он может получить доступ к ключу и дать мне значение. Я только что распечатал его на консоль. Можете ли вы ответить на вопрос выше, и я соглашусь?
Ответ №1:
Это похоже на проблему с наблюдением переменной VS, поскольку у нее возникают проблемы с анализом содержимого переменной.
Если вы проверите значения с myMap
помощью qDebug(), вы, вероятно, обнаружите, что пары вставлены правильно, но VS неправильно интерпретирует содержимое.
Попробуйте удалить и переустановить свой плагин VS и, если проблема не устранена, зарегистрируйте ошибку в Qt, что их QMap
скрипт синтаксического анализа в плагине VS может быть неисправен.