gpt4 book ai didi

c++ - 来自 cppreference.com 的模板参数特化示例不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:34:36 27 4
gpt4 key购买 nike

我在 http://en.cppreference.com/w/cpp/language/partial_specialization 上找到了这个例子

template <int I, int J, int K> struct B {};
template <int I> struct B<I, I*2, 2> {}; // OK: first parameter is deducible

我在使用 -std=c++11 和 -std=c++14 编译时出错

如何编译这个?或者也许例子是错误的?

error: template argument ‘(I * 2)’ involves template parameter(s)
template <int I> struct B<I, I*2, 2> {}; // OK: first parameter is deducible

最佳答案

这是最近的语言更改,甚至几个编译器的当前版本还没有实现它。这是CWG issue 1315 ,其中将状态列为“暂时准备就绪”,但根据@bogdan 在评论中的说法,该更改已被接受到标准中。在此更改之前,由于您的编译器在其错误消息中显示的原因,它是无效的。

更改 GCC 的行为在 GCC 错误跟踪器上为 PR 77781 .

关于c++ - 来自 cppreference.com 的模板参数特化示例不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42041858/

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