我有以下课程:
class Database
{
private:
vector<myObject*> m_vectorObj;
public:
void addObject(myObject &passObj)
}
我正在尝试这样做:
void Database::addObject (myObject &passObj)
{
m_vectorObj.push_back(passObj);
}
但是给我错误“没有匹配的函数要调用”,我该如何进行这项工作并传递对象并存储指针?
最佳答案
首先,问问自己是否真的需要使用指针
如果这样做,那么您有2个选择。
1:您只是在&
之前缺少passObj
m_vectorObj.push_back(&passObj);
^
2:更改功能(从引用到指针)
void Database:addObject (myObject *passObj)//pointer to myObject instead of reference
{
m_vectorObj.push_back(passObj);
}
我完全不会使用指针,但是我建议您将它们封装到
std::unique_ptr
中关于c++ - 在C++中通过引用实现 vector 指针和传递对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27281966/