-1
我已经定义了这样的两个类:派生类不能被转化为基类分配
class A{};
class B : public A{};
而且我还定义了一个函数返回一个指向B:
B* func();
为什么我不能做这样的事情?
A* a = NULL;
a = func();
我以为我使用的是动态绑定,但实际上我错了。
----------------- update ----------------------------
对不起,我错了,我正在做一个大项目,以便错误消息不能很好地工作。
问题是由头文件造成的,因为A和B分别在不同的头文件中定义。
什么让你觉得你不能? – CoffeeandCode
[Works for me](http://coliru.stacked-crooked.com/a/71c2b586dfdee6da)。你能否提供一个实际的[MCVE](http://stackoverflow.com/help/mcve)? – Angew
它的工作原理。请提供实际的代码和错误消息。 – Sergey