c++ - 每当我访问派生类中的成员时,我是否必须限定基类?
问题描述
我有以下问题,这很烦人。我在两个编译器上试过了,似乎很正常。有什么方法可以避免每次访问成员时都限定父/基类?
#include <iostream>
template <typename T, typename U, typename V>
struct MyBase
{
int baseMember;
void baseFunction() { std::cout << "Hey"; }
struct base_internal_struct { static inline int member; };
};
template <typename T, typename U, typename V>
struct MyDerived : public MyBase<T, U, V>
{
int func() {
std::cout << baseMember; // Identifier not found
std::cout << MyBase<T, U, V>::baseMember; // OK
std::cout << base_internal_struct::member; // Identifier not found
std::cout << MyBase<T, U, V>::base_internal_struct::member; // OK
baseFunction(); // Identifier not found
std::cout << MyBase<T, U, V>::baseFunction(); // OK
}
};
int main()
{
}
解决方案
推荐阅读
- algorithm - GOOGLE 询问的该算法的伪代码是什么
- javascript - javascript代码不能按预期工作需要一些帮助细节放在正文中
- python - 在坐标系opencv python之间转换坐标
- javascript - 无法从网站多次请求
- java - 骑士在爪哇的岩石之旅
- javascript - 如何在 NextJS 中添加自定义脚本包
- sql - 将具有相同 ID 但多列的“是”/“否”值不同的多行组合成一行,显示所有“是”/“否”值
- c++ - 用于多维张量的 TensorflowLite C API 输入缓冲区布局
- django - 如何为这个模型制作一个表单,让用户能够为每个问题选择选项 - Django
- r - 在跳过缺失值的同时计算数字序列