Library::Library(std::initializer_list<Book> list)
: size{ list.size() }
{
std::size_t i = 0;
for (Book b : list)
{
insertBook(actual, b);
actual = next(actual);
size++;
}
}
und Fehler:Schleife für in Bereich von initializer_list
von 'const Buch' auf 'Book' konvertieren'Initialisierung': kann nicht
und:
Die Konstruktklasse 'Buch' kann aufgrund mehrdeutiger Kopierkonstruktoren oder verfügbarer Kopierkonstruktor
0 nicht kopiert werden
Meine book.h Konstrukteuren
Book();
Book& operator=(Book& old);
Book& operator=(Book&& old);
Book(std::string& author, std::string& title) :author(author), title(title)
{
std::cout << "l-Referencja" << std::endl;
}
Book(std::string&& author, std::string&& title) :author(author), title(title)
{
std::cout << "r-Referencja" << std::endl;
}
Book(Book& old);
Book(Book&& old);
Post kompilierbaren Code. –
'Book & operator = (const Buch & alt)' und 'Buch (const Buch & old);'. – Jarod42
Ihr Titel ist irreführend. Es gibt keine Schleife in der * Initialisierungsliste *. Es gibt eine Schleife im * Konstruktor *. Die Initialisierungsliste ist: ': size {list.size()}' –