gpt4 book ai didi

c++ - 无法在派生模板类中访问模板基类的成员

转载 作者:行者123 更新时间:2023-11-30 01:25:19 25 4
gpt4 key购买 nike

我有一个模板基类。假设。

template<class KeyF>
class Base
{
private:
int member1;
char member2;
....
};

我从上面的类派生了另一个类。

template<class KeyF>
class Derived : public Base<KeyF>
{
public:
void func1() {
<accessing member1/member2>
}

....
};

以上代码无法在 gcc 中编译。说 member1 不是 Derived 的成员。但是它已经派生自一个基类,那么为什么它不能访问它的成员呢?

最佳答案

您需要在基本成员名称前加上 this-> 前缀或 Base<KeyF>:: , 或添加 using向类(class)声明以取消隐藏它们。它们的名称是从属名称,并且它们是隐藏的。

关于c++ - 无法在派生模板类中访问模板基类的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12514673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com