Это мои структуры:
struct Artist
{
string Name;
string CountryOfOrigin;
};
struct Time
{
int Minutes;
int Seconds;
};
struct Song
{
string Title;
Artist ArtistDetails;
Time LengthOfSong;
};
И моя функция:
void LoadSongDataFromFile(Song s[])
{
string inputFile, title, name, country;
int minutes, seconds;
cout << "Please enter the input file name: ";
cin >> inputFile;
ifstream input;
input.open(inputFile);
int count = 0;
while (input >> title)
{
s[count].Title >> title;
s[count].ArtistDetails.Name >> name;
s[count].ArtistDetails.CountryOfOrigin >> country;
s[count].LengthOfSong.Minutes >> minutes;
s[count].LengthOfSong.Seconds >> seconds;
count++;
}
}
Я получаю сообщение об ошибке в этих трех строках:
s[count].Title >> title;
s[count].ArtistDetails.Name >> name;
s[count].ArtistDetails.CountryOfOrigin >> country;
Сказать, что нет оператора >> соответствует этим операндам.Типы операндов: std :: string >> std :: string
Также данные, которые я пытаюсь поместить в массив struct, поступают из текстового файла, который содержит эту информацию:
Perfect
Эд Ширан с Бейонсе
Англия
4
23
Имя текстового файла - songdata.txt, если это имеет значение.Любая помощь с благодарностью!