c++ - 关于在具有结构成员的类中使用模板的问题
问题描述
我正在尝试创建一个类 ( myClass
),该类 () 具有一个私有成员 ( Elements
),它是 的向量myStruct
。myStruct
是一个使用模板来定义其成员的结构val
。我收到一个错误:
error: type/value mismatch at argument 1 in template parameter list for ‘template<class _Tp, class _Alloc> class std::vector’
vector<myStruct> Elements;
这表示存在不匹配。任何帮助表示赞赏。
#include <iostream>
#include <vector>
using namespace std;
template <class T>
struct myStruct {
int i;
int j;
T val;
};
class myClass {
public:
int m;
int n;
int num;
vector<myStruct> Elements;
private:
SparseMatrix(int _m, int _n, int _num) : m(_m), n(_n), num(_num) {
this->Elements.resize(this->num);
}
};
error: type/value mismatch at argument 1 in template parameter list for ‘template<class _Tp, class _Alloc> class std::vector’
vector<myStruct> Elements;
解决方案
正如@1201ProgramAlarm 所述,错误来源是未给出 myStruct 的类型参数。更正后的代码:
#include <iostream>
#include <vector>
using namespace std;
template <class T>
struct myStruct {
int i;
int j;
T val;
};
template<class T>
class myClass {
public:
int m;
int n;
int num;
vector<myStruct<T> > Elements;
private:
SparseMatrix(int _m, int _n, int _num) : m(_m), n(_n), num(_num) {
this->Elements.resize(this->num);
}
};
祝你好运!
推荐阅读
- docker - 外部 docker 注册表中的映像更新不会触发部署
- javascript - 范围滑块无法与标签一起正常工作
- r - 当一行具有特定值时,如何获取组的所有元素
- bash - 使用 Bash 测试计算机连接性
- symfony - Symfony: what does autowiring solve?
- c - 变量从函数返回中获取变量值
- node.js - 如何从静态服务器 (CDN) 提供受保护的图像
- python - 将频率表转换为 Pandas 中的原始数据
- mongodb - "unwinding": { "preserveNullAndEmptyArrays": false } 在 v3.4 聚合 $lookup 中不起作用
- python - Groupby 3列,每组只保留最小的5列