C++ Qt应用程序将不会编译

C++ Qt应用程序将不会编译,c++,qt,hashtable,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> #incl

这件事困扰了我一段时间。我试图创建一个函数,该函数接受一个哈希表,并返回所述哈希表。但是我在头文件中得到了这个错误

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
\ifndef NAME\u SPAWN\u H
#定义名称\u繁殖\u H
#包括
#包括
#包括
类名\u Spawn
{
公众:
Name_Spawn();
void initalize();
私人:
QString int_2_str(int);
无效种子();
QHash可设置(QHash);
};
#endif//NAME\u SPAWN\u H

如您所见,字符串已经声明。有什么想法吗?我束手无策。

字符串的真名是
std::string
。试着用它来代替


(只有在作用域中有
使用名称空间std;
指令时,才可以取消
std::
限定符。但最好不要将
使用名称空间std;
放在头文件中。)

字符串的真实名称是
std::string
。试着用它来代替


(只有在作用域中有
使用名称空间std;
指令时,才可以省略
std::
限定符。但最好不要将
使用名称空间std;
放在头文件中。)

我知道我做了蠢事。非常感谢。我已经走出了C++世界,因为我知道我做了一些愚蠢的事情。非常感谢。我已经走出C++世界太久了