这个问题困扰了我一段时间。我正在尝试创建一个采用哈希表并返回所述哈希表的函数。但是我在头文件中收到此错误,
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
如您所见,字符串已被声明。有任何想法吗?我束手无策。
最佳答案
string
的真实名称是std::string
。尝试改用它。
(只有当范围内有 using namespace std;
指令时,您才可以省略 std::
限定符。但最好不要将 using namespace std;
在头文件中。)
关于c++ - Qt 应用程序不会编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4982083/