Hello,
I wrote this simple stack:
---START---------------
#include "stackArr.h "
#include "underflow. h"
#include <iostream>
StackArr::Stack Arr(int initialSize){
data = new void*[initialSize];
size = 0;
};
StackArr::~Stac kArr(){
delete []data;
}
void StackArr::push( void* x){
data[size] = x;
size++;
}
void StackArr::pop() {
if(size==0) throw new Underflow("Stac k empty");
size--;
}
void* StackArr::top() const{
if(size==0) throw new Underflow("Stac k empty");
return data[size-1];
}
void* StackArr::topAn dPop(){
if(size==0) throw new Underflow("Stac k empty");
return data[size--];
}
bool StackArr::isEmp ty() const{
return size==0;
}
void StackArr::makeE mpty(){
delete []data;
data = new void*[10];
size=0;
}
int main(){
cout<<"StackArr "<<endl;
}
---END-----------------
When I compile this version there isn't problem, but when I change the
include order (first iostream)
#include <iostream>
#include "stackArr.h "
#include "underflow. h"
I have compile errors:
stackArr.cpp: In member function `virtual void StackArr::pop() ':
stackArr.cpp:23 : parse error before `(' token
stackArr.cpp: In member function `virtual void* StackArr::top() const':
stackArr.cpp:28 : parse error before `(' token
stackArr.cpp: In member function `virtual void* StackArr::topAn dPop()':
Why???????
Thanks
Yuri
I wrote this simple stack:
---START---------------
#include "stackArr.h "
#include "underflow. h"
#include <iostream>
StackArr::Stack Arr(int initialSize){
data = new void*[initialSize];
size = 0;
};
StackArr::~Stac kArr(){
delete []data;
}
void StackArr::push( void* x){
data[size] = x;
size++;
}
void StackArr::pop() {
if(size==0) throw new Underflow("Stac k empty");
size--;
}
void* StackArr::top() const{
if(size==0) throw new Underflow("Stac k empty");
return data[size-1];
}
void* StackArr::topAn dPop(){
if(size==0) throw new Underflow("Stac k empty");
return data[size--];
}
bool StackArr::isEmp ty() const{
return size==0;
}
void StackArr::makeE mpty(){
delete []data;
data = new void*[10];
size=0;
}
int main(){
cout<<"StackArr "<<endl;
}
---END-----------------
When I compile this version there isn't problem, but when I change the
include order (first iostream)
#include <iostream>
#include "stackArr.h "
#include "underflow. h"
I have compile errors:
stackArr.cpp: In member function `virtual void StackArr::pop() ':
stackArr.cpp:23 : parse error before `(' token
stackArr.cpp: In member function `virtual void* StackArr::top() const':
stackArr.cpp:28 : parse error before `(' token
stackArr.cpp: In member function `virtual void* StackArr::topAn dPop()':
Why???????
Thanks
Yuri
Comment