簡體   English   中英

C ++未定義參考

[英]C++ undefined reference

我的問題如下:我有一個從抽象基類繼承的類A。 我重寫了基類中的所有虛函數,並且有一個類似這樣的構造函數:

A::A(B* b)
{
this->b=b;
}

在類B的構造函數中,我具有以下代碼:

A* a=new A(this)

但是,這行代碼給出了錯誤:未定義引用'A :: A(B *)'

我絕對不知道為什么會這樣,所以任何建議都將不勝感激!

這是一個鏈接器錯誤。 您可能應該鏈接到定義A::A(A*)的庫。

您必須在B的定義之前包括A的定義。還必須對B進行前向聲明,以在A中使用它並防止使用循環定義。

        class B;

        class A
        {
        public  :
            A(B* b);
        };

A* a=new A(this) // should work at this point

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM