2014-02-19 221 views
-1

我正在C++中實現沒有STL庫的堆棧。在C++中實現堆棧

這裏是我的頭文件

// 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 

和自備電廠的文件

// 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

圖片是不可用? –

+0

請不要發佈錯誤圖片,在問題中複製粘貼*逐字*。 –

回答

2

該錯誤說明您沒有主要功能。

的錯誤,如: Unresolved external symbol是說的編譯器的方式:我想X功能,我希望它被宣佈,但在編譯和鏈接模塊

1

主要功能是沒有定義,我不能找到它。

以下添加到您的源代碼:int main() { return 0; }

正如埃米爾表示,編譯器無法找到主要功能的定義。

+0

請詳細說明你的答案。謝謝! – thomaux

+1

將以下內容添加到您的源代碼中...... 如emil所示,編譯器無法找到主函數的定義。 int main() { return 0; } – 51k