class A{
Add(const B&);
vector <B*> vect;
};
A & A::Add(const B& obj){
vect.push_back(&obj);
return *this;
}
здесь я получаю fpermissive ошибку, потому что аргумент push_back постоянный, как я могу избавиться от этого?ошибка при добавлении в вектор указателей
Я пытался создать локальную копию в Add таких как
B tmp;
tmp = obj;
vect.push_back(&tmp);
, но я не уверен, что это, как шаг программы из этого метода Add, TMP получает уничтожена, и адрес в векторе будет указывать на недействительный место в памяти?
Вы уверены, что хотите сохранить указатели на объекты, чьи жизни вы не имеете понятия? – fredoverflow