c++ - 尝试在结构中接收模板并在 std::vector 上使用它
问题描述
我正在尝试为测试创建一个树类,但我得到:“错误:'模板类 std::vector”的模板参数列表中参数 1 的类型/值不匹配。
template <typename T>
struct a {
T data;
void ReceiveData(T T_data) {
data = T_data;
}
};
struct b {
std::vector<a> b_data;//Error here
};
解决方案
您需要指定模板类型a
:
template<typename T> struct a
{
T data;
void ReceiveData(T T_data)
{
data = T_data;
}
};
template<typename T> struct b
{
std::vector<a<T>> b_data; //compiles now
// ^^^^
};
请注意,a
单独不是一个类型,它是一个模板。住在神螺栓上
推荐阅读
- linux - 用另一个字符串替换“grep string”的所有结果
- javascript - 当我不知道数组的名称时,如何引用它?
- python - 如何从内存池中删除交易,因为内存池不断听到网络交易
- python - Python 更新后在虚拟环境中运行 Python 的问题
- ios - 将所有 iCloud App 的 Documents 文件复制到 Documents 目录中
- python - 如何计算 fsolve python 中的错误,如 python 中的 resnorm?
- python-3.x - ElasticSearch 错误:'客户端注意到服务器不是 Elasticsearch 的受支持分布'
- swift - 如何处理在生产应用程序 Swift 中删除 Firestore 侦听器?
- typescript - 分配和声明打字稿时的不同形状
- javascript - 除非我刷新客户端,否则无法接收 POST 数据。为什么?如何在页面加载之前等待收到发布数据?