vc6中,new函数在已有内存基础上构造类有有关问题
vc6中,new函数在已有内存基础上构造类有问题?
下面的代码在vc2010中执行通过,但是在vc6中执行失败,说语句:
new (&p[i])hopew(i);有错. error C2661: 'new' : no overloaded function takes 2 parameters
之前有记得在vc6中见到过这样使用的,vc6应该支持这样才对的,难道是我写错了? 还是我记错了? 谢谢,帮看看哈.
------解决方案--------------------
少了 #include<new> 吧
下面的代码在vc2010中执行通过,但是在vc6中执行失败,说语句:
new (&p[i])hopew(i);有错. error C2661: 'new' : no overloaded function takes 2 parameters
之前有记得在vc6中见到过这样使用的,vc6应该支持这样才对的,难道是我写错了? 还是我记错了? 谢谢,帮看看哈.
typedef unsigned char uchar;
class hopew
{
public:
hopew(int i)
:data(i)
{
printf("Construct 0x%p, data = %d\n", this, data);
}
~hopew()
{
printf("Deconstruct 0x%p, data = %d\n", this, data);
}
int data;
};
int main(int argc, char* argv[])
{
uchar* pBuffer = new uchar[sizeof(hopew) * 10];
hopew* p = (hopew*)pBuffer;
for (int i = 0; i < 10; ++i)
new (&p[i])hopew(i);
for (int j = 0; int j < 10; ++j)
p[j].~hopew();
delete pBuffer;
return 0;
}
vc
------解决方案--------------------
少了 #include<new> 吧