首页 > 试题广场 >

有以下函数: void query() {

[问答题]

有以下函数:

void query()
{
int *p;
p=new int[3];
//…
delete []p;
p=new double[5];
//…
delete []p;
}

出现了编译错误。请分析错误的原因,并把上述程序补充完整,上机验证你的判断。

推荐

在语句p=new double[5];中企图把动态浮点型数组的地址写入整型指针p,造成错误。错误为:

error C2440: “=”:无法从“double *”转换为“int *”。

改正方法:增加一个double*q指针。

void query()
{
int *p;
p=new int[3];
delete [] p;
//……
double *q;
q=new double[5];
//……
delete []q;
}

发表于 2018-05-07 11:42:15 回复(0)