Código PHP:
//Cadena.h
#ifndef _CADENA_H_
#define _CADENA_H_
#include <stdexcept>
class Cadena{
public:
//Constructores
Cadena();
Cadena(unsigned int t, const char c);
explicit Cadena(unsigned int t);
//Cons. Copia
Cadena(const Cadena& cadena);
//Métodos observadores
unsigned int longitud()const{return tam;}
//Cadena->const char*;
operator const char*() const;
//const char*->cadena;
Cadena(const char* c);
//Operadores internos:
Cadena& operator=(const Cadena& cadena);
Cadena& operator+=(const Cadena& cadena);
char operator[](unsigned int i) const;
char& operator[](unsigned int i);
//métodos auxiliares
char at(unsigned int i)const throw(out_of_range);
char& at(unsigned int i)throw(out_of_range);
private:
unsigned int tam;
char * cad;
};
//operadores externos
Cadena operator+(const Cadena& c1, const Cadena& c2);
bool operator<(const Cadena& c1, const Cadena& c2);
bool operator<=(const Cadena& c1, const Cadena& c2);
bool operator>(const Cadena& c1, const Cadena& c2);
bool operator>=(const Cadena& c1, const Cadena& c2);
bool operator==(const Cadena& c1, const Cadena& c2);
bool operator!=(const Cadena& c1, const Cadena& c2);
#endif
El problema es que al compilarlo me da el siguiente error:
cadena.h:26: error: expected type-specifier before ‘out_of_range’
cadena.h:26: error: expected `)' before ‘out_of_range’
cadena.h:26: error: expected ‘;’ before ‘out_of_range’
cadena.h:27: error: expected type-specifier before ‘out_of_range’
cadena.h:27: error: expected `)' before ‘out_of_range’
cadena.h:27: error: expected ‘;’ before ‘out_of_range’
Me estoy volviendo loco y no consigo ver dónde estoy metiendo la pata.
Si alguien puede aclararmelo, le estaría enormemente agradecido.
Saludos a todos.