我有一個虛擬內聯getter和setter的A類。從A有兩個類B和C派生。我有一個D類,來自B和C. Creatown D中的一個對象,並使用getName()結果「未定義的引用getName()」。刪除「聯機」do not't工作。頭文件包含正確。 這裏有什麼問題?未定義的引用,但它被定義爲
class A
{
public:
virtual inline std::string getName() const{return name;}
protected:
std::string name;
};
class B : public virtual A {};
class C : public virtual A {};
class D : public B, public C {};
你真的想虛擬繼承? – 2011-03-19 09:01:11
顯示問題的粘貼代碼。上面的代碼不顯示它。 – wilx 2011-03-19 09:02:56
[gcc C++虛擬繼承問題]的可能重複(http://stackoverflow.com/questions/2126522/gcc-c-virtual-inheritance-problem) – 2011-03-19 09:07:32