我想創建一個像容器向量的向量。創建獨立於構造函數參數的對象指針
隨後宣佈:
Vector< A> Avector.
雖然分配內存它給出了一個不具有默認構造函數編譯錯誤。 我寫了下面的代碼來分配內存。
char *pBuffer = (char*) malloc(size*sizeof(T));
T *array;
for(int i = 0; i < size; i++)
{
(array+i) = new(pBuffer + i) T;
}
return array;
T是模板變量。
該錯誤是由於這樣的事實:在放置新我使用的T默認構造函數,而我沒有寫一個默認的構造函數爲A.
我想知道,有沒有什麼辦法讓內存分配不依賴於構造函數簽名。