Я пытаюсь использовать стек stdlib в созданном мной классе, но у меня возникают проблемы с его динамическим созданием.
Вот соответствующий код из моего заголовочного файла "matcher.h":
private:
stack<char> opens;
и вот созданный мной конструктор, который выделяет только стек:
#include "matcher.h"
using namespace std;
//Creates a matcher object with the default values.
matcher::matcher()
{
opens = new stack<char>;
}
Я получаю следующую ошибку:
matcher.cpp:19:17: error: no match for ‘operator=’ in ‘((matcher*)this)->matcher::opens = ((*(const std::deque<char, std::allocator<char> >*)(& std::deque<char, std::allocator<char> >())), (operator new(40u), (<statement>, ((std::stack<char>*)<anonymous>))))’
Thisговорит мне, что std::stack
не содержит оператора присваивания, что приводит меня к моему вопросу:
Какой метод я должен использовать, чтобы получить стек, который будет сохраняться в моем объекте matcher, еслив нем нет оператора присваивания?
Спасибо, что уделили время.