Передача list в качестве параметра функции
Я хочу передать неинициализированный list в качестве аргумента в функцию add, чтобы там его изменить. Что я делаю не так?
#include <iostream>
#include <list>
#include <iterator>
using namespace std;
typedef struct {
char author[30];
} SONG;
void add( * b)
{ char a[30];
cin >> a;
SONG singer;
b.push_front(singer); /*тут я хочу получить массив и изменить его, но показывает ошибку*/
strcpy_s(singer.author, a);
list<SONG>::iterator it;
it = b.begin();
b.insert(++it, singer);
}
int main()
{
list <SONG> myList;
cout << "Enter your number :";
int input;
cin >> input;
switch (input)
{
case 1:
add(list<SONG> &myList); /*вот тут хочу передать массив по ссылке*/
break;
default:
cout << "Error";
break;
}
return 0;
}
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Попробуйте для начала заменить
void add( * b)
на
void add(list <SONG>&b)
а вызов
add(list<SONG> &myList);
на
add(myList);