Devo implementare uno stack usando un namespace Strutture dati, perņ ho errori di compilazione e non so come risolverli.
Questo č l' header:
codice:
/*
* Stack.h
*
* Created on: 15/nov/2011
* Author: Dario89
*/
#ifndef STACK_H_
#define STACK_H_
namespace StruttureDati {
class Stack {
public:
Stack();
public:
~Stack();
bool push(int a);
bool pop(int &a);
};
} /* namespace StruttureDati */
#endif /* STACK_H_ */
Questo il cpp:
codice:
/*
* Stack.cpp
*
* Created on: 15/nov/2011
* Author: Dario89
*/
#include "Stack.h"
#include <stdio.h>
#include <iostream>
using namespace std;
namespace StruttureDati {
int myStack[];
int size;
#define CAPACITY 100
int top;
Stack::Stack() {
size=0;
top=0;
myStack=new int[CAPACITY];
// TODO Auto-generated constructor stub
}
bool push(int a)
{
if(size<CAPACITY){
myStack[size++]=a;
top=size;
return true;
}
printf("Error!!! Stack is full!");
return false;
}
bool pop(int &a)
{
if(size!=0)
{
myStack[a]=0;
return true;
}
printf("Error!!! Stack is empty!");
return false;
}
int NumElements(){
return size;
}
Stack::~Stack() {
//delete [] myStack;
// TODO Auto-generated destructor stub
}
} /* namespace StruttureDati */
int main()
{
/* StruttreDati pila=new StruttureDati();
int number;
cout << "Inserisci il numero di elementi da inserire nello stack" << endl;
cin >> number;*/
}
L' errore che ho č il fatto che dichiarando l' array non specifico la dimensione, io sono abituato in Java e una cosa come quella si puņ fare, in questo caso come dovrei correggere?