熟悉STL的人请进STL中的list:push_back问题,急!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/26 10:39:26
//************************Person.h*******************************
#include<string>
#include<list>
using namespace std;

typedef bool Status;

class Person
{
public:
//data;
string m_Name;
string m_TelNum;
string m_MobileNum;
string m_QQNum;
string m_Email;
string m_Company;
string m_Address;
string m_Note;
//构造函数
Person()
{}

Person(string,string,string,string,string,string,string,
string);
Person& operator =(Person per);
void show();

};

Status Insert(list<Person> L,Person person);

//*****************************Person.cpp*********************************
#include<iostream>
#include"Person.h"
#include<fstream>
using namespace std;

Person::Person(string str1,string str2,string str3,string str4,
string str5,string str6,stri

你的Insert中List是按值传递的,把其改成按引用传递就可以了。Status Insert(list<Person> &L, Person personx)

要用引用,改为:

Status Insert(list<Person>& L,Person& personx)

因为按你所写,那个L是临时的,进行参数传递是临时的拷贝,而不是传入的地址,所以要通过引用的方式。