C 在功能参数中指向基类指针的指针
C++ casting a pointer to a reference to pointer of base class in function parameter
我正在尝试使用其构造函数创建嵌套类的构造函数,该类别从父嵌套的类中继承。基本上:
DerivedList<T>::DerivedNested::DerivedNested(DerivedNode*& ptr)
: BaseList<T>::BaseNested::BaseNested(ptr)
{}
我的基础构造函数的原型是这样的:
BaseList<T>::BaseNested::BaseNested(BaseNode*& ptr)
(并且需要通过参考获得PTR参数,因为它需要该指针在其代码中的地址)
我认为我必须将我的派生词*施加到一个basenode*,但是:static_cast :: basenode*>(ptr)没有找到匹配的功能,因为它不是参考,而static_cast :: basenode*&amp;>(PTR)给出无效的铸造错误。
dynamic_cast也是如此。reinterpret_cast编译,但在切除过程中给出了一些不正确的东西。
有人知道我怎么称呼该父构建器?
如果您认为需要参考,那可能是因为您要以后修改指针。问题在于,派生类中指针的类型是DerivedNode*
,而基类中的BaseNode*
。如果基类影响DerivedNode2*
的指针怎么办?
您应该使用设定器,或将逻辑从基类移动到派生的逻辑。
相关文章:
- 如何使用基类指针引用派生类成员
- 使用基类指针创建对象时,缺少派生类析构函数
- 如果基类包含双指针成员,则派生类的构造函数
- 使用基类指针调用基类的值构造函数的语法是什么?
- 如何在基类指针向量的元素上应用重载的多态函数
- 如何使用 std::make_shared 创建基类类型的智能指针?
- 如何在不使用指针的情况下将派生类的对象作为参数传递给基类中的函数?
- 指向基类派生类的 std::unique_ptr 的指针
- 当目标指针不是基类的类型时,为什么允许dynamic_cast为多态类生成 null 指针?
- 如何在成为指向基类的指针后保留对子类方法的使用?
- 派生类是从基类继承 v 指针并仅使用它,还是也有自己的 v 指针?
- std::variant vs指向C++中异构容器基类的指针
- 模板化函数或具有指向基类的指针的函数
- 指向基类的唯一指针
- C++函数解析基类指针到派生类指针
- 指向基类的指针的 std::vector 的深层副本
- 在将派生类指针类型转换为派生类指针后,从基类指针调用派生类函数
- 如何将子类作为函数的参数传递给期望基类,然后将该对象传递到指向这些抽象类对象的指针向量中?
- 无法从指针派生类转换为指针基类(多态性)
- 使用指针基类的=操作符的多态性