gpt4 book ai didi

c++ - 默认参数和模板

转载 作者:太空宇宙 更新时间:2023-11-03 10:46:53 25 4
gpt4 key购买 nike

为什么这个函数给我一个错误:

template < typename T >
T foo( T s = 0, const vector < T > &v)
{
...
}

error: default argument missing for parameter 2 of ‘template summable sum(summable, const std::vector&)’

为什么下面没有?:

template < typename T >
T foo( const vector < T > &v, T s = 0)
{
...
}

最佳答案

可选参数必须是最后一个。 IE。非可选参数不能跟在可选参数之后。

你会怎么称呼

T foo( T s = 0, const vector < T > &v)

只是一个v , 没有 s

如果

,编译器将如何发现这一点
  • sv具有相同的类型,或者
  • foo 过载只拿一个const vector<T>&

关于c++ - 默认参数和模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19483804/

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