Good day. Tell me, please, what could be the error. At the end, 2 destructors are triggered and the error crashes: _crtisvalidheappointer (block). Thank you in advance.
class Call { public: int _id; string _name; Call() { } Call(int id, string name): _id(id), _name(name) { } ~Call() { printf("destructor\n"); } void Print() { printf("id : %d \n", _id); } }; int main() { std::vector <shared_ptr<Call> > m_vCalls; Call emptyCall; shared_ptr<Call> emptyCallPtr(& emptyCall); m_vCalls.push_back(emptyCallPtr); m_vCalls[0]->Print(); Call FirstCall(1, "First"); shared_ptr<Call> FirstCallPtr(& FirstCall); m_vCalls[0] = FirstCallPtr; m_vCalls[0]->Print(); m_vCalls[0]->_id = 2; m_vCalls[0]->Print(); FirstCall.Print(); return 0; }