Не знаю, может это я просто сделал что-то не так, но найти ответ в гугле я так и не смог.
Вот код мейна:
#include <iostream>
using namespace std;
#include "MyStack.h"
int main()
{
//cout << "Hello World!\n";
MyStack<int> ms;
ms.Pop(5);
ms.Pop(1);
cout << ms.Push() << endl;
ms.Pop(2);
ms.Pop(3);
ms.display();
}
Код MyStack.h:
#pragma once
#include <iostream>
template <typename T>
class MyStack
{
private:
int maxS = 500;
T* arr = new T[maxS];
int count = 0;
public:
// занесення елемента x в Стек S
void Pop(T x);
T Push();
bool Empty();
void display();
};
И код MyStack.cpp:
#include "MyStack.h"
template<typename T>
void MyStack<T>::Pop(T x)
{
if (maxS > count) arr[count++] = x;
else std::cout << "!" << std::endl;
}
template<typename T>
T MyStack<T>::Push()
{
T x = arr[--count];
return x;
}
template<typename T>
bool MyStack<T>::Empty()
{
return count == 0;
}
template<typename T>
void MyStack<T>::display()
{
for (size_t i = 0; i < count; i++)
{
std::cout << arr[i] << std::endl;
}
}
А вот и сама ошибка: