我的目标是通过我的链表创建我自己的堆栈,它可以作为整数、字符串等的模板。下面是我的两个重要文件。
主文件
#include <iostream>
#include <string>
#include "Stack.h"
using namespace std;
int main()
{
Stack<int>* myStack = new Stack<int>();
myStack->add(5);
system("pause");
return 0;
}
堆栈.h
#pragma once
#include <iostream>
#include <string>
#include "LinkedList.h"
using namespace std;
template <class T>
class Stack
{
public:
Stack()
{}
~Stack()
{}
void add(const T& val);
....
private:
LinkedList<T> myStack;
};
template<class T>
inline void Stack<T>::add(const T& val)
{
myStack.newHead(val);
}
....
我最初将 Stack 的实现放到它自己的 .cpp 中,但我遇到了问题,建议我定义与 .h 内联的成员函数。奇怪的是,每当我运行 Main.cpp 时,我都会得到这个:
“错误 C1083:无法打开源文件:'Stack.cpp':没有这样的文件或目录。”
这是我第一次尝试在没有 .cpp 的情况下上课 - 我忽略了什么?