std::stack
에 대한 스택 확장을 만들었습니다.Cannote 객체 생성자 오류 (객체 초기화)
template<class _StackType>
class Stack
{
std::stack<_StackType> data_container;
mutable std::mutex M;
public :
Stack(const Stack& other)
{
std::lock_guard<std::mutex> lock(other.M);
this->data_container = other.data_container;
}
하지만 그것을 초기화 할 때 :
내가 코드 템플릿 클래스를 만들었습니다는 여기
error: no matching function for call to `‘Stack<int>::Stack()’`
그것은 것 같다
Stack<int> myStack;
그것은 다음과 같은 오류가 발생합니다 운영자에게 몇 가지 문제가 있습니다. 연산자 오버로딩을 만들려고했으나 시도 할 때 실패했습니다.
오류의 원인은 무엇입니까?
에는 운영자가 연루되지 ?? 당신은 단순히 기본 생성자를 지정하지 않았다. 복사 생성자가 정의 된 경우 컴파일러는 자동으로 생성자를 생성하지 않습니다. –