-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()}' –