gpt4 book ai didi

c++ - 当该参数的类型是模板类型时,如何提供默认参数参数?

转载 作者:行者123 更新时间:2023-12-04 13:06:04 24 4
gpt4 key购买 nike

template <class V, class K>    
class Pair {
public:
Pair(const K& key, const V& value = initial) { // what should "initial" be here?
// ...
}
}

例如,如果我使用这样的类:

int main() {
Pair<int, std::string> p1(21); // p1 should be {21, ""} as the default value of a string is "".
Pair<int, double> p2(20); // p2 should be {20, 0.0} assuming the default value of a double is 0.0
}

我怎样才能做到这一点?

最佳答案

像这样尝试 V():

template <class K, class V>    
class Pair {
public:
Pair(const K& key, const V& value = V()) { }
};

或者:

template <class K, class V>    
class Pair {
public:
Pair(const K& key, const V& value = {}) { }
};

注意需要一个默认构造函数(可以不带参数调用)。

关于c++ - 当该参数的类型是模板类型时,如何提供默认参数参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69450645/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com