Qt应用程序将无法编译

时间:2011-02-13 02:38:00

标签: c++ qt hashtable

这让我感到困惑了一段时间。我正在尝试创建一个带有哈希表的函数,并返回所述哈希表。但是我在头文件中收到此错误,

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 个答案:

答案 0 :(得分:6)

string的真实姓名是std::string。请尝试使用它。

(只有在范围内有std::指令时才可以取消using namespace std;限定符。但是不要将using namespace std;放在头文件中是个好习惯。)