【发布时间】:2020-05-25 17:51:23
【问题描述】:
我在这段代码中做错了什么?
template <typename T>
class CLASS1
{
public:
T member;
};
template <typename T>
class CLASS2 : public CLASS1<T>
{public:
void func()
{
member = 4;
}
};
Visual Studio 错误:
未找到成员标识符
G++ 错误:
“成员”未在此范围内声明
【问题讨论】:
-
请记住,类模板对于每个模板参数可以有不同的成员集。无法保证专业化不会导致
member丢失。同时,您的代码中没有任何内容表明名称member需要延迟查找,直到知道模板参数。
标签: c++ templates inheritance