我正在使用没有STL库的C ++实现堆栈。
这是我的Header文件的代码
// File: stack.h: header file
#ifndef STACK_H
#define STACK_H
class Stack {
int MaxStack;
int EmptyStack;
int top;
int* items;
public:
Stack(int); // Constructor
~Stack(); //Destructor
//Member Functions
void push(int);
char pop();
int empty();
int full();
};
#endif // STACK_H
和Cpp文件
// File: stack.cpp: stack functions
#include "stack.h"
using namespace std;
// Constructor with argument
Stack::Stack(int size) {
MaxStack = size;
EmptyStack = -1;
top = EmptyStack;
items = new int[MaxStack];
}
// Destructor
Stack::~Stack() { delete[] items; }
void Stack::push(int c) {
items[++top] = c;
}
char Stack::pop() {
return items[top--];
}
// Test for Full stack
int Stack::full() {
return top + 1 == MaxStack;
}
// Test for Empty stack
int Stack::empty() {
return top == EmptyStack;
}
在我运行它之前制作一个主要测试类之前,我得到了这两个错误
!(http://postimg.org/image/pnjzd9axt/)
如何解决这两个错误的任何帮助?!
提前致谢
答案 0 :(得分:2)
错误表明您没有主要功能。
错误如:
Unresolved external symbol
是编译器的说法:我想要X函数,我希望它被声明但我在编译和链接的模块中找不到它
答案 1 :(得分:1)
主要功能未定义。
将以下内容添加到源代码中:int main() { return 0; }
如Emil所示,编译器无法找到main函数的定义。