Я пытаюсь создать программу c++, которая использует текстовый файл в качестве базы данных. Для этого он сохраняет строки в текстовом файле (представляющие песни) как "Revolution Diplo Revolution 320 12". Когда это предложение разбивается (вся другая дилемма), значения данных - это имя, исполнитель, альбом, килобайт/секунду, и размер в мегабайтах, соответственно.
Я получаю следующие ошибки:
'main() :: song использует локальный тип main() :: song,
Попытка создать экземпляр класса шаблона std :: allocator,
Параметр аргумента 2 недействителен, и
Функциональное определение здесь не допускается до '{токена
И я не могу понять, как это работает вообще.
struct song{
string name;
string artist;
string album;
string kbs;
string size;
};
//Declare our function that will search
vector<song> loadStructsInData(){ //THIS LINE IS WHERE THE ERROR ARISES
/* this part just reads a file and interprets each line as structs, like a database */
return songs;
cout<<"All done!"<<endl<<endl;
}
И все это в функции main().
Вы должны объявить свою структуру в глобальной (или классе, но не в функции) области, чтобы использовать ее в контейнере STL.
cout
, поэтому вы никогда не достигнете своего заявления cout
.
main()::song
- похоже, вы объявляете все вmain()
. Не делай этого.