gpt4 book ai didi

c++ - 为什么我不使用这个就不能访问成员

转载 作者:行者123 更新时间:2023-11-30 03:46:30 24 4
gpt4 key购买 nike

<分区>

我有一个继承自的模板类,并通过派生类访问基类成员。我无法在不使用“this”的情况下访问它们,我找到了原因。

如果我理解正确,当我使用模板时,模板化代码的拷贝是通过特化制作的,然后才可以编译。意思是如果我写 vector<int>编译器复制 vector 并将所有“T”替换为“int”。

如果是这样的话,我不明白为什么模板和非模板代码之间应该有任何区别。

template <typename T>
class b
{
protected:
int myMember;
};

template<typename T>
class e : public b<T>
{
public:
void dosomething()
{
this->myMember = 2; // Everything is perfect
myMember = 2; // Doesn't compile in GCC, can't find the member
}
};

int main()
{
e<int> mye;
mye.dosomething();
}

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