Я не знаю, как я могу удалить элемент с .top(), когда у меня есть стек общих указателей.C++ стек общих указателей delete element
Мой класс (что-то вроде этого):
Class
{
public:
Class();
~Class();
void popState();
private:
std::stack<std::shared_ptr<State> > states;
}
void Class::popState()
{
delete this->states.top();
}
У меня есть ошибка в "удалить this-> states.top()": выражение должно иметь тип указателя.
Как это должно быть написано правильно?
Весь смысл общих указателей (на самом деле, интеллектуальных указателей вообще) заключается в том, что вам не нужно ничего удалять вручную ... – Borgleader