Не компилится вот этот код, не могу понять, что не так.
(Не обращайте внимание на умерший русский текст, в документе криво сохранил)
Претензии компилятора, которые я не очень понимаю.
[Error] name lookup of 'i' changed for ISO 'for' scoping [-fpermissive]
[Error] 'AddBook' was not declared in this scope
[Error] 'cls' was not declared in this scope
[Note] (if you use '-fpermissive' G++ will accept your code)
#include <iostream>
#include <string>
#include <windows.h>
using namespace std;
class L_Book {
private:
string name_book, autor; int pages;
public:
void AddBook(string a, string b, int c) {
name_book = a;
autor = b;
pages = c;
}
void GetAllBooks() {
cout << "Book Name : \t" << name_book << endl << "Name Autor : \t" << autor <<endl << "Pages : \t" << pages << endl;
}
} ;
void main () {
string a, b; int c; bool soft = true; short menu, kol_books;
L_Book book [500];
setlocale (LC_ALL, "rus");
//////////////STARTED
while (soft == true) {
system ("cls");
cout << "\t 1) Добавить книгу" << endl << "\t 2) СпиÑок вÑех книг" <<endl;
cin >> menu;
if (menu == 1) {
system ("cls");
cout << ("Сколько книг хотите добавить? "); cin >> kol_books;
for (int i = 0; i < kol_books; i++)
system ("cls");
cout << "Ðазвание книги: "; cin >> a, cout << endl;
cout << "Ð˜Ð¼Ñ Ð°Ð²Ñ‚Ð¾Ñ€Ð°: "; cin >> b; cout << endl;
cout << "КоличеÑтво Ñтраниц: "; cin >> c; cout << endl;
book [i], AddBook (a, b, c);
}
cout << "УÑпешно добавлено." << endl;
Sleep (3000);
}
if (menu == 2) {
system (cls);
for (int i = 0; i < kol_books; i++) {
book[i].GetAllBooks();
Sleep(1000);
}
Sleep (3000);
}
}
}
}