【发布时间】:2023-03-08 01:48:01
【问题描述】:
在下面的代码 sn-p 中,我使用了可变参数模板 findSum 函数,并且我使用概念确保该函数的参数类型相同,但有人可以建议我如何确保该函数的返回类型也匹配与参数类型一样。
#include <iostream>
#include <concepts>
template<typename F,typename... R>
struct FirstVariadicType
{
using Type = F;
};
template<typename... Ts>
requires requires(Ts... args){
std::conjunction_v<std::is_same<typename FirstVariadicType<Ts...>::Type, Ts>...>;
}
auto findSum(Ts... args)
{
return (... + args);
}
int main()
{
std::cout<<"sum of 2 and 3 is "<<findSum(2,3)<<std::endl;
return 0;
}
【问题讨论】:
标签: c++ templates c++20 c++-concepts variadic