0
我已經創建了一個簡單的基於模板的類。現在我正在嘗試寫一個流式閱讀器&作家。我只想要一個指向流中數組的指針。但它不起作用。 我使用VS2015指向轉發宣告的模板類
////////////////////////////Array.h
#include "Stream.h"
template<typename... Types> class TArray {};
template<typename T0> class TArray<T0>
{
friend Stream& << (Stream& stream, const TArray& arr)
{
...
}
...
}
///////////////////////////////Stream.h
class Stream
{
public:
class TArray<char>* mArray; //ERROR, it dose not work
}
您需要在Stream.h文件中轉發declare TArray模板類。 –
模板類TArray {...} 不是一個具體的類,並且不會生成任何機器碼。 TArray 是一個,mArray聲明的正確語法應該是: ... TArray * mArray; ... 朋友函數是類中的聲明而不是定義。 –
Shooter