在VC里用 new (buf) Foo时编译通不过
const int chunk = 16;
class Foo {
public:
int val() { return _val; }
Foo() { _val = 0; }
private:
int _val;
};
char *buf = new char[ sizeof(Foo) * chunk ];
Foo *pb = new (buf) Foo;
if ( pb->val() == 0 )
delete[] buf;
C++ Primer里的源码,在VC里编译通不过,难道VC不支持在指定内存空间初始化对象吗?
哪位高人知道原因,请赐教!