void Function(int* a, int* n){
if (a) delete[] (a);
a = new int[10];
memset(a, 0, 10*sizeof(int));
*n = 10;
}
void main(){
int* a = NULL;
int n = 0;
Function(a, &n);
for (int i=0; i<n; i++){
cout << "a[" << i << "]=" << a[i] << "\n";
}
if (a) delete[] a;
结果是要输出i个0,上面的输不出,除了下面的修改方法之外,还有其他什么不算太复杂的改法吗 |