Список передачи C ++ в качестве параметра функции

Я пытаюсь создать очень простую адресную книгу. Я создал класс Contact, и адресная книга представляет собой простой список. Я пытаюсь создать функцию, позволяющую пользователю добавлять контакты в адресную книгу. Если я возьму свой код за пределы функции, он будет работать нормально. Однако, если я вставлю это, это не сработает. Я полагаю, что это передача по ссылке против проблемы передачи по значению, с которой я не обращаюсь как следует. Это код для функции:

void add_contact(list<Contact> address_book)
{
     //the local variables to be used to create a new Contact
     string first_name, last_name, tel;

     cout << "Enter the first name of your contact and press enter: ";
     cin >> first_name;
     cout << "Enter the last name of your contact and press enter: ";
     cin >> last_name;
     cout << "Enter the telephone number of your contact and press enter: ";
     cin >> tel;

     address_book.push_back(Contact(first_name, last_name, tel));
}

Я не получаю никаких ошибок, однако, когда я пытаюсь отобразить все контакты, я вижу только оригинальные.

Ответы на вопрос(4)

Ваш ответ на вопрос