这让我感到困惑了一段时间。我正在尝试创建一个带有哈希表的函数,并返回所述哈希表。但是我在头文件中收到此错误,
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
如您所见,已声明字符串。有任何想法吗?我在我的智慧结束。
答案 0 :(得分:6)
string
的真实姓名是std::string
。请尝试使用它。
(只有在范围内有std::
指令时才可以取消using namespace std;
限定符。但是不要将using namespace std;
放在头文件中是个好习惯。)