Hey, I am trying to create a capacity for my array in the public section of my class and it keeps giving me the same error "illegal pure syntax, must be '= 0' ". Here is my header code. The problem is apparently under the public section.
Code:
#include <iostream>
using namespace std;
class List
{
public:
typedef int VALUE_TYPE;
const int CAPACITY = 30;
VALUE_TYPE array[CAPACITY];
List(); //constructor
List(List& x); //copy constructor
//void destroy();
//void assign();
void remove(); //destroy operation
void first(); //first operation
void next(); //next operation
void prev(); //previous operation
void Makecurrent(int x); //makecurrent operation
VALUE_TYPE current(); //shows current position
VALUE_TYPE examine(); //examine operation
void replace(VALUE_TYPE v); //replace operation
VALUE_TYPE insertafter(VALUE_TYPE v); //insert after operation
VALUE_TYPE insertbefore(VALUE_TYPE v); //insert before operation
VALUE_TYPE size(); //Count operation
friend ostream & operator<<(ostream& out, List x)
{
for(int i=0;i<CAPACITY;i++)
out << x.array[i] << " ";
}
friend ostream & operator+(List x, List y)
{
for(int i=0;i<CAPACITY;i++)
x.array[i] + y.array[i];
}
private:
VALUE_TYPE pos;
VALUE_TYPE used;
VALUE_TYPE array[CAPACITY];
};
List::List()
{
pos=0;
used=0;
for(int i=0;i<CAPACITY;i++)
array[i]=0;
}
List::List(List& x)
{
pos=x.pos;
used=x.used;
for(int i=0;i<CAPACITY;i++)
array[i]=x.array[i];
}
void List::remove()
{
VALUE_TYPE i;
if(used!=0 && used<CAPACITY)
{
i=pos;
while(i<=used && i<CAPACITY)
{
array[i]=array[i+1];
i++;
}
// if(pos > used)
// pos=used;
}
}
void List::first()
{
pos=array[0];
}
void List::next()
{
while(pos < used && pos >= 0)
pos++;
}
void List::prev()
{
while(pos < used && pos >=0)
pos--;
}
List::Makecurrent(int x)
{
pos=x;
if((pos > used) && (pos < 0))
if(pos>used)
{pos=used;}
if(pos<0)
{pos=0;}
}
List::VALUE_TYPE List::current()
{
if((pos <= used) && (pos > 0))
{
return pos;
}
else
{
return 0;
}
}
VALUE_TYPE List::examine()
{
VALUE_TYPE x,i;
i=pos;
x=array[i];
return x;
}
void List::replace(VALUE_TYPE v)
{
VALUE_TYPE x;
array[x]=v;
}
VALUE_TYPE List::insertafter(VALUE_TYPE v)
{
/*if(used>CAPACITY)
return 0;
for(int i=used;i>pos;i--)
mylist[i+1]=mylist[i];
pos++;
mylist[pos+1]=v;
used++;
return 1;
*/
return v;
}
VALUE_TYPE List::insertbefore(VALUE_TYPE v)
{
return v;
}
VALUE_TYPE List::size()
{
return used;
}
thanks