【发布时间】:2015-01-06 15:37:00
【问题描述】:
我有这个继承:
class SomeClass : public s_SomeStruct {}; // where s_SomeStruct is a classic C struct.
还有这些声明:
SomeClass a;
SomeClass b;
s_SomeStruct c;
我不知道为什么情况(2)不起作用:
a = b; // (1) works fine
a = c; // (2) DOESN't WORK!
c = a; // (3) Oh? It works!
我能知道为什么吗?有什么简单的方法可以治愈这种情况吗?
谢谢!
【问题讨论】:
-
SomeClass是一种更具体的类型。在进行赋值时,编译器无法推断出如何处理不在s_SomeStruct中的成员。 -
在不知道您要解决的真正问题的情况下,我们无法就如何使其满足您的需求提出不可猜测的建议。