首先 - 我知道这真是一个不容错过的问题 - 但是嘿 - 我们都是以新手开始的,不是吗?... 那么,问: 我想使用继承的模板类,而且我很难处理这些东西。这是用Microsoft Visual Studio Professional 2012编写的代码:
template <class T>
class A
{
protected:
int f(){return 0};
};
template <class T>
class B : public A<T>
{
protected:
int f2()
{
return this->;
}
};
事实上,在自动完成选项中,我曾经看到所有B变量&#39;,它们是沿着A变量的实际B变量 。但是当我使用模板时 - 我只能看到B类变量,当写下&#34; this-&gt;&#34;时。 (不用说 - 当我删除模板声明时 - 它运行得很好,而且&#34; this-&gt;&#34;会给我f()和 f2()选项) 我有什么不对的吗?
答案 0 :(得分:0)
我认为您的问题与此问题重复:
templates: parent class member variables not visible in inherited class
UncleBens的第一个答案总结得很好。
[...]模板类的模板父级在实例化期间未实例化 首先检查模板的编译通道。[...]
他还提供了进一步阅读的进一步信息和良好的链接。