Приложение Qt не скомпилируется - PullRequest
0 голосов
/ 13 февраля 2011

Это меня давно озадачило. Я пытаюсь создать функцию, которая принимает хеш-таблицу и возвращает указанную хеш-таблицу. Однако я получаю эту ошибку в заголовочном файле,

error: ‘string’ was not declared in this scope.
error: template argument 1 is invalid

Вот сам заголовочный файл:

#ifndef NAME_SPAWN_H
#define NAME_SPAWN_H
#include <QString>
#include <QHash>
#include <string>

class Name_Spawn
{
public:
    Name_Spawn();
    void initalize();
private:
    QString int_2_str(int);
    void seed();
    QHash<string,QString> setTable(QHash<string,QString>);
};

#endif // NAME_SPAWN_H

Как видите, строка объявлена. Есть идеи? Я в своем уме.

1 Ответ

6 голосов
/ 13 февраля 2011

Настоящее имя string - std::string. Попробуйте использовать это вместо этого.

(Вы можете не указывать квалификатор std:: только в том случае, если в области действия есть директива using namespace std;. Но не рекомендуется помещать using namespace std; в заголовочные файлы).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...