gpt4 book ai didi

c++ - 名称查找问题,GCC 和 clang 不同意

转载 作者:可可西里 更新时间:2023-11-01 18:00:03 26 4
gpt4 key购买 nike

<分区>

正如 ecatmur 所指出的,这个问题已经有了答案 here .

这个问题显然不是trailing return type using decltype with a variadic template function的重复问题.它实际上试图提出一个更简单的解决方案来解决该线程中的问题。问题是根据标准,这个解决方案是否正确,因为 GCC 和 clang 不同意。只要更仔细地阅读问题,您就会意识到这一点。

这个问题的灵感来自 this one .我正在尝试提出一个比已经提供的解决方案更简单的解决方案,并以这样的方式结束:

#include <iostream>

struct S {
template <typename T>
static T sum(T t){
return t;
}

template <typename T, typename ...U>
static auto sum(T t, U... u) -> decltype(t + sum(u...)) {
return t + sum(u...);
}
};

int main() {
std::cout << S::sum(1, 1.5, 2) << '\n';
}

虽然此解决方案适用于 GCC,但它根本无法解决 clang 上的问题。所以,我想知道哪个是正确的。

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