![]() |
1
3
问题是 [expr.const]/5.12 :
由于变量
经过
但是引用该参数并在下一行使用它是无效的:
请注意,gcc 9错误地接受了此代码;只有在版本10之后,gcc才做到了这一点。
gcc10在相关领域仍不合规;它接受呼叫a
附录:根据论文,这可能会在未来发生变化 P2280R1 . |
![]() |
2
1
我在看 the 2014 Metaprogramming with Boost.Hana: Unifying Boost.Fusion and Boost.MPL presentation ,Louise Dionne谈到了这个话题,并解释了@super在评论中告诉我的内容,但我不理解。
这是我对这个概念的重新表述:没有所谓的
正如Louis Dionne在相关演示中所说,
这为解决这个问题提供了一种方法。使用
我认为这与@Jarod42在评论中的建议本质上没有什么不同:
此外,我玩了更多,因为最后一件事困扰着我:
|
![]() |
notamaster · 匿名命名空间中的变量声明和其他位置的定义 2 年前 |
![]() |
sovesti · 参数较少的模板函数中的演绎 2 年前 |
![]() |
Lingxi · 使用内联静态数据成员有任何潜在的陷阱吗? 7 年前 |
![]() |
Quuxplusone · 销毁不可销毁的基类? 7 年前 |