0
編譯第三方庫時,我得到「錯誤:引用非const的初始值必須是左值」。錯誤發生在C++類的定義在此聲明的成員函數的:修復第三方庫代碼初始化一個常量的類成員函數引用參數
bool intersectsHierarchy(ON_Ray& ray, std::list<BVNode<ON_BoundingBox>*>& results = 0);
基於I在網絡上發現的信息,我試圖使被初始化的參數是常量,如下所示:
bool intersectsHierarchy(ON_Ray& ray, const std::list<BVNode<ON_BoundingBox>*>& results = 0);
但這只是導致另一個編譯錯誤。
任何想法如何最好地解決這個問題,讓我的圖書館編譯?
擺脫'= 0'的傳遞變量第一個例子中的一部分?這是你的代碼還是其他人? – NathanOliver
這是第三方庫代碼,所以是別人的代碼。我擔心如果我擺脫了0初始化值,我會創建一個bug。 –
'0'和'std :: list *>'是不同的類型,後者不能從前者構造出來(除非明確地調用兼容的c'tor)。這是一個錯誤,沒有兼容的編譯器應該知道如何翻譯。 –
IInspectable