9
는 최근이 같은 코드에 문제가 있었다 :const를 추가하지 않으면 왜 컴파일러에서 자동 템플릿 매개 변수를 추론 할 수 없습니까?
constexpr auto lambda = []{};
template<auto& l>
struct Lambda {};
template<auto& l>
void test(Lambda<l>) {}
int main() {
test(Lambda<lambda>{});
}
연타 모두를하고 l
을 추론 할 수없는 GCC는 말한다. 내가 거기에 const를 추가하면
그러나 :
// ----v
template<const auto& l>
void test(Lambda<l>) {}
그런 다음 모든 연타와 함께 작동합니다. GCC는 여전히 실패합니다. 여기 무슨 일 이니?
const
그 자체를 추론 할 수 있습니까? 두 경우 모두
l
을 추론하지 않는 GCC 버그입니까?