Variadic 模板继承 C++ 在 gcc 11 中不起作用,但在 visual studio 中起作用 [重复]

问题描述 投票:0回答:0

以下示例无法在 g++ v11 中编译,但在 msvc 中可以吗?它给出了错误

error: use of undeclared identifier 'm_i'
[build]         m_i = 10;
[build]         ^

使用标准 17。我个人在这里看不到任何问题......

template <typename... T>
class Base
{
  protected:
    int m_i = 0;
};

template <typename... T>
class D : public Base<T...>
{
  public:
    D()
    {
        m_i = 10;
    }
};

int main()
{
    D<int, int> d;
    return 0;
}
c++ c++17 variadic-templates
© www.soinside.com 2019 - 2024. All rights reserved.