У меня есть следующий код, который принимает несортированный список песен и исполнителей, сортирует и отображает их.
int main()
{
SongList totalList; // has a public 2d array 'unsortedSongs' variable
char songs[100][80] =
{
{"David Bowie 'Ziggy Stardust'",},
{"Smokey Robinson 'You've Really Got A Hold On Me'",},
{"Carole King 'You've Got A Friend'",},
// many more songs here totaling to 100
{"Joni Mitchel 'A Case Of You'",},
{"Prince 'Kiss'"}
};
memcpy(&totalList.unsortedSongs, &songs, sizeof(songs)); // this causes a segmentation fault
totalList.displaySortedList();
return 0;
}
Я взял код для memcpy почти прямо из примера здесь, так что я запутался почему это не работает. Может ли кто-нибудь помочь мне исправить это?
редактировать:
это инициализация SongList
class SongList
{
public:
char unsortedSongs[100][80];
public:
void displaySortedList();
void sortList();
string rearrange(char[]);
string getSongsForArtist(int*);
};
SongList
объявляется и реализуется? Я предполагаю, чтоunsortedSongs
неправильно инициализирован. - person Shafik Yaghmour   schedule 18.06.2013&songs
, а не толькоsongs
? (возможно, то же самое дляunsortedSongs
, но мы этого не знаем... - person John3136   schedule 18.06.2013memcpy
есть ошибка сегментации: http://ideone.com/lJKboC а>. - person newbie   schedule 18.06.2013displaySortedList
. Похоже, я не могу удалить свой ответ, так как он принят, так что можете ли вы добавить код дляdisplaySortedList
. - person Shafik Yaghmour   schedule 18.06.2013