首页 > 解决方案 > 使用模板具有两种不同类型属性的结构

问题描述

我想创建一个结构,它使用模板保存不同类型的键和值。

我正在考虑使用这样的两个模板值:

template <typename KEY>
template <typename VALUE>
struct KeyValue {
    KEY key;
    VALUE value;
};

int main() {
    KeyValue<int, int> *kv = new KeyValue<int, int>();
}

但这不起作用。有什么建议么?

标签: c++

解决方案


只需将这两个参数放在一个模板中

template <typename KEY, typename VALUE>
struct KeyValue {
    KEY key;
    VALUE value;
};

int main() {
    KeyValue<int, int> *kv = new KeyValue<int, int>();
    return 0;
}

如果您想要一个键值容器,请考虑 std::map


推荐阅读