【发布时间】:2019-02-17 11:41:52
【问题描述】:
这段代码在C++14/17下合法吗?
template <class T1, class T2 >
class Foo
{
public:
class sentry;
};
template <class T1,class T2 = int>
class Foo<T1,T2>::sentry
{
public:
~sentry() { }
};
它使用 GCC 4.9.3 编译,但使用 GCC 5.3 编译失败。 Online demo
我怎样才能为 GCC 5.3 解决这个问题?
【问题讨论】:
标签: c++ templates c++14 language-lawyer c++17