c++ - Qt 应用程序不会编译

标签 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

如您所见,字符串已被声明。有任何想法吗?我束手无策。

最佳答案

string的真实名称是std::string。尝试改用它。

(只有当范围内有 using namespace std; 指令时,您才可以省略 std:: 限定符。但最好不要将 using namespace std; 在头文件中。)

关于c++ - Qt 应用程序不会编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4982083/

相关文章:

c++ - 定义宏定义时出错

c++ - 尝试使用 Qt 库中的 QPixmap 将图像分成几个 block 。他的复制方法的工作方式有什么我不明白的吗?

oop - matlab subsref : {} with string argument fails, 为什么?

python - Python 的哈希函数顺序背后的逻辑是什么?

java - 在Java中删除?

c++ - 使用轮询的套接字响应超时

c++ - 静态断言检查静态常量类数据成员?

c++ - 类数组求和、索引和计算

c++ - QT线程交换数据

qt - 使用 clang 和 lld 生成 .map 文件