-1
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++;
}
}
和錯誤的範圍:循環爲initializer_list
'初始化':
:不能從 '常量書',以 '書'
和轉換由於含糊不清的拷貝構造函數,無法複製構造類'Book'或不可用 可用拷貝構造函數
個
我book.h構造
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);
發佈可編譯代碼。 –
'Book&operator =(const Book&old)'和'Book(const Book & old);'。 – Jarod42
您的標題有誤導性。* initializer list *中沒有循環。*構造函數*有一個循環。是:':size {list.size()}' –