我写了以下code:
#include <iostream>
struct A
{
int a;
A(int){ std::cout << "A(int)" << std::endl; }
A(){ std::cout << "A()" << std::endl; }
~A(){ std::cout << "~A()" << std::endl; }
};
int main()
{
A *a = new A[100];
delete[] a;
}
但我想在构建数组时调用A(2)
,而不是A()
。我试过这个:
new (2) A[100];
,但参数2
已传递给operator new[]
。 new A(2)[100];
也不起作用。