我的目标是通过我的链表创建自己的堆栈,它可以作为整数,字符串等的模板。以下是我的两个重要文件。
Main.cpp的
#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;
}
Stack.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的课程 - 我忽略了什么?
答案 0 :(得分:1)
从项目中删除“Stack.cpp”。它在解决方案资源管理器中。