鑑於以下類是兩個獨立的頭文件,並可以以任意順序出現:C++類的原型衝突
//TestB.h
class TestB; //Forward declaration for a later operator= in a centralised header
class TestA
{
const TestA&operator=(const TestB); //defined in Test.h
};
和:
//TestA.h
class TestA; //Forward declaration for a later operator= in a centralised heaer
class TestB
{
const TestB&operator=(const TestA); //defined in Test.h
};
如何避免原型衝突?
幫助表示讚賞。
我絕對向大家道歉!我原本打算在那裏引用(operator = arguments中的&符號 - 我絕對不會通過複製bar簡單POD來傳遞),而僅僅是關於原型衝突的問題!我想這表明證明閱讀的重要性!我已經接受了原來的(我錯誤的)背景下的答案。
我只是轉過身去了幾分鐘,並沒有意識到錯誤!
你是什麼意思「原型衝突」? –
這裏沒有錯 - 這將工作正常。您需要更好地解釋錯誤,並使用真實的代碼。 –
@Als:你可以通過值聲明不完整類型的函數;直到類型定義之後才能定義或調用它們。 –