[C con Clase] String???

Programante programante en gmail.com
Mie Ago 22 22:32:01 CEST 2007


Antonio Fernández Herruzo escribió:
> Hola buenas es la primera vez que escribo en está lista, y de antemano 
> un saludo a todos.
>  
> Estoy realizando un programa de un examen, trataba de modificar algo 
> tan sencillo, como iniciar la clase animal con el nombre y la edad del 
> animal, solo teniamos que codificarlas en un fichero aparte sin 
> modificar ni la parte privada de animal.h, ni de la clase fecha, ni 
> del que tendriamos que compìlar que seria test1.cpp, este al final nos 
> daria si esta bien inicializada la clase animal y si el destructor 
> liberaba bien la memoria.Y me da el siguiente error, creo que es por 
> algo que no incluyo, pero no se cual es la libreria que me falta.
>  
>
> In file included from test1.cpp:3:
> animal.h:14: error: expected `)' antes de "nombreAnimal"
> animal.h:19: error: `string' no nombra a un tipo
> test1.cpp: In function `int main()':
> test1.cpp:13: error: se trata la lista de expresiones new initializer 
> como una expresión compuesta
> test1.cpp:13: error: no se encuentra una función coincidente para la 
> llamada a `Animal::Animal(int)'
> animal.h:10: nota: los candidatos son: Animal::Animal()
> animal.h:10: nota:                     Animal::Animal(const Animal&)
>  
>
> el fichero animal.h es el siguiente:
>  
>
> #ifndef _Animal_h
> #define _Animal_h
>  
> #include <string>
>  
> #include "fecha.h"
>  
>
> class Animal
> {
>  
> public:
>  
> Animal(string nombreAnimal, int edadAnimal);
Como en Animal.h no pones "using namespace std;" (lo cual es mala idea 
en los archivos de cabecera) no encuentra string. Tienes que decirle que 
está en el espacio de nombres std:
Animal(std::string nombreAnimal, int edadAnimal);





Más información sobre la lista de distribución Cconclase