Dawno tutaj nie zaglądałem więc na wstępie witam wszystkich ponownie :)
Tworzę prosty program symulujący Bibliotekę. Oto kod źródłowy:
#include "Ksiazka.h"
#include <vector>
class Biblioteka
{
private:
struct DaneWypozyczajacego
{
string imie;
string nazwisko;
string pesel;
};
//int DniDoKonca;
vector <Book > SpisKsiazek;
DaneWypozyczajacego * Wypozyczajacy;
public:
Biblioteka() {};
Biblioteka(string i, string n, string p)
{
Wypozyczajacy->imie = i;
Wypozyczajacy->nazwisko = n;
Wypozyczajacy->pesel = p;
}
void DodajKsiazke(Book Ksiazka)
{
SpisKsiazek.push_back(Ksiazka);
}
void Show()
{
cout << SpisKsiazek.size();
}
};
#include <string>
#include <iostream>
using namespace std;
class Book {
private:
string Tytul;
string Autor;
int rokWydania;
public:
Book(string T, string A, int n);
friend class Biblioteka;
};
#include "Ksiazka.h"
Book::Book(string T, string A, int r)
{
this->Tytul = T;
this->Autor = A;
this->rokWydania = r;
}
a main:
#include <iostream>
#include "Ksiazka.h"
#include "Biblioteka.h"
int main()
{
Book * Ksiazka = new Book("Wladca pierscieni", "Tokien", 1950);
Book * Druga = new Book("Podrecznik do fizyki", "Jedrzejczak", 2009);
Biblioteka * MojaKartaBiblioteczna = new Biblioteka("Igor", "Igor", "97061901252");
MojaKartaBiblioteczna->DodajKsiazke(*Ksiazka);
MojaKartaBiblioteczna->DodajKsiazke(*Druga);
MojaKartaBiblioteczna->Show;
system("pause");
}
Błąd wywala podczas każdej próby dostania się do vectora. Tutaj aktualnie chcę wyświetlić sam rozmiar tablicy, ale problemy występują również podczas odczytania poszczególnych pól z danego indeksu Vectora.
Błąd to
Error C3867 'Biblioteka::Show': non-standard syntax; use '&' to create a pointer to member
Kombinowałem także z utworzeniem Vectora wskaźników, również wyskakiwał taki sam błąd.
Bardzo proszę o pomoc, pozdrawiam