我在做练习的时候碰到
第一反应是指针问题,网上搜索得到的答案是对空指针进行操作了,找了半天发现问题如下:
string name;
cout << "请输入姓名:" << endl;
cin >> name;
abs->personArray[abs->m_Size].m_Name = name;
在函数中使用了下方结构体中的m_Size,但m_Size没有赋值,所以abs指向是个空指针,导致内存分配冲突。
struct Addressbooks//通讯录结构体
{
//通讯录中保存的联系人组数
struct Person personArray[Max];
//通讯录中保存的联系人个数
int m_Size;
};
解决方法:对m_Size赋值即可,使abs指向不是一个空指针。