为什么子类可以引用 anchestor 字段,而模板子类不能?

Why subclass may refer to anchestor fields while template subclass may not?

提问人:George Kourtis 提问时间:8/24/2023 更新时间:8/24/2023 访问量:5

问:

我看到必须使用 anchestor 类字段来使用 anchestor 类字段是非常不舒服的,而这通常不是必需的,“为什么是这样?”并且有任何解决方案(虽然在以下情况下写 ::C 很短,但在现实生活中,上面至少需要一行代码, 所以它根本不实用。

https://godbolt.org/z/E1sjxecYK

                        struct A        { int a=5;                  };
                        struct B:A      {           int b=a;        };

template<typename T>    struct C        { int c=7;                  };
template<typename T>    struct D:C<T>   {           int d=c;        };

/*
template<typename T>    struct E:C<T>   {           int d=C<T>::c;  };
*/

using namespace std;

int main(){
}
模板 G++

评论


答: 暂无答案