QMap Insert выдает только (ошибка) 0 для значения и ключа

У меня проблема со вставкой значений в 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();
}

Это создает следующую карту: output Map

Почему это происходит? Что я делаю не так?


person GPPK    schedule 23.06.2014    source источник
comment
Похоже, вы используете Visual Studio. Вы правильно установили плагин?   -  person RobbieE    schedule 23.06.2014
comment
У меня не было никаких проблем ни с чем другим, что я делал с QT, я также убедился, что Core выбран в настройках проекта QT.   -  person GPPK    schedule 23.06.2014
comment
Это похоже на проблему с часами переменных VS, что у них возникают проблемы с анализом содержимого переменной. Можете ли вы подтвердить (используя QDebug), что содержимое myMap действительно неверно?   -  person RobbieE    schedule 23.06.2014
comment
вздыхает. Используя QDebug, он может получить доступ к ключу и дать мне значение. Я просто распечатал его на консоли. Можете ли вы ответить на вопрос выше, и я приму?   -  person GPPK    schedule 23.06.2014


Ответы (1)


Это похоже на проблему с часами переменных VS, что у них возникают проблемы с анализом содержимого переменной.

Если вы проверите значения в myMap с помощью QDebug(), вы, вероятно, обнаружите, что пары вставлены правильно, но VS неправильно интерпретирует содержимое.

Попробуйте удалить и переустановить подключаемый модуль VS и, если проблема не устранена, зарегистрируйте ошибку Qt в том, что их QMap скрипт синтаксического анализа в подключаемом модуле VS может быть ошибочным.

person RobbieE    schedule 23.06.2014