@GineTik

Непонятная проблема с неразрешенных внешних элементов: 3, что это?

Не знаю, может это я просто сделал что-то не так, но найти ответ в гугле я так и не смог.

Вот код мейна:
#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;
	}
}


А вот и сама ошибка:
605a44075e34c498287979.png
  • Вопрос задан
  • 55 просмотров
Решения вопроса 1
GavriKos
@GavriKos
Для шаблонных классов реализации методов надо в h пихать
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
16 мая 2024, в 23:36
200000 руб./за проект
16 мая 2024, в 23:10
12000 руб./за проект