我想创建一个像容器向量的向量。创建独立于构造函数参数的对象指针
随后宣布:
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.
我想知道,有没有什么办法让内存分配不依赖于构造函数签名。