【发布时间】:2020-04-25 16:35:29
【问题描述】:
我有以下代码在c++14 中编译成功。
template<class T, class ...Args>
class B
{
public:
using AbcData = int;
};
template<typename ...Args>
class D : public B<float, Args...>
{
public:
AbcData m_abc;
};
但是在c++17编译时,会报如下错误。
error C2061: syntax error: identifier 'AbcData'
代码有什么问题以及如何解决?
【问题讨论】:
-
这也不应该在 C++14 上编译。
-
我正在使用 VisualStudio 2017。它在 c++14 中编译。
-
不应该。它一直是不正确的。 Demo.
-
它不能在带有
/Za的 MSVC 上编译,也许它们有扩展或其他东西。
标签: c++14 c++17 c++ templates c++14 c++17 class-template