假设我有一个抽象基类A,并从中派生B.C++:返回子类指针
用下面的代码:
A* myInst = (A*) new B;
A* GetA() { return myInst; }
B* GetB() { return (B*) myInst; }
第一功能编译,第二不。错误:error C2143: syntax error : missing ';' before '*'
- 为什么我不能返回指向子类A的指针?
如果我用return NULL;
替换函数的内容,也会出现错误!
函数声明后面的额外分号似乎很奇怪。尝试删除它。 – Lagerbaer 2010-11-23 15:39:06
不用说,函数原来是inline – Parror 2010-11-23 15:39:53
这个错误实际上是指哪一行?您可能想向我们展示整个代码,因为`;`错误可能不仅仅意味着缺少分号(模糊,是) – birryree 2010-11-23 15:41:50