c++ - C++ 模板继承可见性在派生类中丢失
问题描述
我正在为一个非常简单的模板设计而苦苦挣扎:
template <typename T>
class A {
public:
int i=4;
};
template <typename T>
class B : public A<T> {
public:
int f() {return i;}
};
编译器说 i 没有在 B 的范围内声明,我可以通过前缀 A 来解决它:
int f() {return A<T>::i;}
但是,由于这是一个更通用设计的摘录,我想了解这个问题:B<T>
作为A<T>
父亲,我应该可以在没有前缀的情况下访问吗?
我认为这一定是一个微不足道的问题,但我看不到解决方案。
解决方案
推荐阅读
- javascript - 如何异步预加载图像
- javascript - 基于键合并多个对象数组
- php - php中的foreach循环条件执行
- c# - 如何在 C# ChromeDriver 中禁用加载 javascript?
- django - 导出具有反向外键关系的模型的 xlsx 文件,并将该反向外键关系作为单独的列
- node.js - Nodejs express API无法在本地的公共作品中连接
- java - Thymeleaf 模型与 HttpServletRequest
- swift - UITableview 单元格高度在 iOS 14.0 中的滚动表视图上发生变化
- javascript - 如何查看在网页上单击按钮时正在发生的过程?
- vb.net - 使用 vb.net 以编程方式为系统范围的“访问权限”添加或删除用户