如果我使用像以下示例这样的继承链,我可以使用来自最深基础的 vars,而不会出现任何问题:
    class A { public: int x; };
    class B : public A { };
    class C: public B { public: void Do() { cout << x << endl; } };
如果我对递归可变参数模板类做同样的事情,我将无法访问我的变量。知道如何访问变量以及为什么我看不到我的变量吗?
    template <class ...Parms>
    class Example;
    template <class Head, class ...Parms>
    class Example<Head, Parms...>: public Example<Parms...>
    {
    };
    template <>
    class Example<>
    {
        public:
        int x;
    };
    template <class ...Parms>
    class Last: public Example<Parms...>
    {
        void Do() { cout << x << endl; }
    };
在实例化类的任何实例之前编译失败!