写入访问冲突:*p是nullptr

img


问题如下:
我欲编写一个指针函数,用于返回一个传入数组中的最大元素以及其下标,我在函数中申请了动态数组,第一个元素储存传入数组最大元素,第二个元素储存那个元素的下标。在这个编写的指针函数中,我用pmax作形参来指向我申请的动态数组中的第一个元素,用pflag作形参指向我申请的动态数组中的第二个元素,所以我在main函数中先将pmax,pflag初始化为NULL,然后再调用指针函数时作实参。结果就发生了如上图片的错误,我欲把传入数组中的最大元素的下标赋给它时,编译器却告诉我引发了写入访问权限冲突。求解为何。

调用search的pmax和flag都需要指针变量,不能用NULL,在main函数中你可以为pmax,pflag动态申请堆内存,也可以定义2个int型局部变量,然后把指针传进去。

感谢前辈的回答,让我这个初学者学到了新知识。按照您的建议,我已将问题解决。谢谢前辈。