首页 > 解决方案 > 无法从派生类指针转换为基类指针

问题描述

我有一个简单的 3 级层次结构。

class A { ... }
class B : public A { ... }
class C : public B { ... }

我正在尝试做这样的事情(GetCPointer 返回一个 C*):

A* baseClassPointer = GetCPointer();

但我收到了这个错误。

cannot convert 'C*' to 'A*' in initialization

我假设这种转换是隐含的。我也尝试过static_castdynamic_cast但没有解决这个错误。我错过了什么?

标签: c++gcc

解决方案


推荐阅读