2009-05-29 10 views
2

In diesem Buch, ich lerne, wie das Buch einen Stapel schreibt, aber wenn ich es kompilieren, erreicht sie einen Compiler-Fehler:C++ Programmierung Buch Beispiel auf Stack

#define DEFAULT_SIZE = 10 

class Stack 
{ 
    private: 
     int size; 
     int top; 
     int *value; 

    public: 
     Stack(int size = DEFAULT_SIZE); 
     virtual ~Stack(); 
     bool isFull(); 
     bool isEmpty(); 
     void push(int); 
     int pop(); 
}; 

und die Fehler zeigt:

C:\Documents and Settings\Eddy\Desktop\C++ Playground\Data Structures\stack.h|14|error: expected primary-expression before '=' token| 
||=== Build finished: 1 errors, 0 warnings ===| 

Ich verwende Code :: Blocks als meine IDE, und ich glaube, dass Sie innerhalb einer Klasse nicht initialisieren können, und ein "DEFAULT_SIZE" würde häufig in einem Standardkonstruktor sein.

Habe ich die richtige Idee? oder habe ich etwas falsch gemacht?

Antwort

7

tun:

#define DEFAULT_SIZE 10 

Das = Zeichen ist in der Präprozessordefinition nicht benötigt.

3

Die Zeile #define ist falsch. Sie brauchen das "=" nicht.