【发布时间】:2016-04-15 05:57:11
【问题描述】:
我正在尝试更正一段 C++ 代码。 (它是为此目的而编写的,错误也是如此......)
错误:从
'const Book*'到std::vector<Book*>::value_type {aka Book*}'的无效转换 [-fpermissive]
在这个方法中
void Bibliography::addBook(const Book *newBook)
{
books.push_back(newBook);
}
向量定义为
std::vector<Book *> books;
现在我的主要问题是,const 能达到多远?是说“这个函数不能修改newBook”还是让vector中的元素也变成const?
基于该答案,我是否必须删除 const,或者是否有其他方法可以解决此问题?
【问题讨论】:
-
如果我对 const 的理解正确,这意味着这本书本身就是 const 吗?在这种情况下不,这本书是可编辑的
-
是的,这行得通,谢谢兄弟
标签: c++ pointers parameters reference constants