1
我的代碼具有與下圖所示相同的結構。我在單個頭文件中定義了兩個容器類,它們中的每一個都有一個帶有其他類的參數的朋友函數,所以我得到一個類似於'Class2'的編譯錯誤 - 未聲明的標識符。模板類C++朋友函數
嘗試了幾件事,但沒有解決。我認爲,如果再添加一個模板參數V到兩個模板並替換Class2<T>
它可能是一個解決方案,但事情變得複雜,如果我在我的程序中使用這些容器。我還認爲將Class1和Class2分爲不同的標題和然後包含在Class1 Class2中,反之亦然,但我實際上我懷疑這可能會起作用。
我真的不知道如何解決這個問題,所以請你的幫助非常感謝!
template<class T>
class Class1
{
...
friend void function1(Class1<Class2<T>>&, const Class2<T>&);
...
};
template<class V>
class Class2
{
...
friend void function2(Class1<V>);
...
};
非常感謝您! – 32l3n