Possible Duplicate:
The type in a dynamic_cast must be a pointer or reference to a complete class type, or void *
我有一个名称空间Fuzzy,它有一个名为CuteDog的抽象类(该类继承自另一个抽象类)。
我正在写一个叫做PuppyArmy的新类
我想在PuppyArmy中有一个指向CuteDog的指针,而在我的头文件中,我正在尝试这样做。
namespace Fuzzy { class CuteDog }
using namespace Fuzzy;
class PuppyArmy {
...
CuteDog *cute;
}
然后在我的cpp文件中时
using namespace Tough;
....
cute = dynamic_cast<::Fuzzy::CuteDog*>(foo()); // where foo() returns the parent class of CuteDog*
编译器告诉我
C2440: '=' : cannot convert from Fuzzy::CuteDog * to PuppyArmy::Fuzzy::CuteDog *
有任何指向我在这里做错事情的指针吗?
最佳答案
似乎您没有在定义CuteDog
实现的地方包含头文件