покачто делаю такое
#include <iostream>
using namespace std;
int l = 0;
struct knigga{
string author;
string name;
string vid;
int starostb;
string misze;
};
void showinfo(knigga book, string src){
for (int i = 0; i < l; i++){
cout << book[i].name << endl;
}
}
int main(){
const int length = 8;
l = length;
knigga books[length] = {
{"SergoZar", "Душевні рани", "Sergo.Zar.Production", 2021, "В майбутньому"},
{"SergoZar", "Збірник V6", "Sergo.Zar.Production", 2019, "spaces.ru"},
{"Олексій Семикопенко", "Підручник HTML", "Без видавництва", 2009, "webremeslo.ru"},
{"Олексій Семикопенко", "Підручник CSS", "Без видавництва", 2009, "webremeslo.ru"},
{"Джейсон Шреєр", "Кров піт і пікселі", "Форс", 2019, ""},
{"Едріан Прутяну", "Як стати хакером", "ДМК Прес", 2020, ""},
{"Джон Еріксон", "Хакінг. Мистецтво експлойту", "Пітер Прес", 2018, ""},
{"Крейг Джеллі", "MINECRAFT Довідник архітектора", "Mojang", 2019, ""}
};
string src;
cout << "Пошук: ";
cin >> src;
showinfo(books,src);
return 0;
}
что я делаю не так?:
9.cpp: In function 'void showinfo(knigga, std::__cxx11::string)':
9.cpp:18:21: error: no match for 'operator[]' (operand types are 'knigga' and 'int')
cout << book[i].name << endl;
^
9.cpp: In function 'int main()':
9.cpp:50:11: error: could not convert '(knigga*)(& books)' from 'knigga*' to 'knigga'
showinfo(books,src);
^~~~~
knigga у тебя одна, а ты к ней как к массиву обращаешься
но books это масив knigga
Обсуждают сегодня