Soy nuevo en C++ pero no puedo entender por qué esto no compilará para mí. Me estoy ejecutando en una Mac, codificando con Xcode, pero estoy compilando con mi propio archivo makefile de bash.C++ g ++ no puede encontrar el tipo de 'cadena' en el archivo de encabezado de clase
De todos modos, estoy obteniendo dos errores de compilación que no se puede encontrar el tipo de "cadena", aunque he incluido. Cualquier ayuda sería bienvenida. Código:
//#include <string> // I've tried it here, too. I'm foggy on include semantics, but I think it should be safe inside the current preprocessor "branch"
#ifndef APPCONTROLLER_H
#define APPCONTROLLER_H
#include <string>
class AppController {
// etc.
public:
int processInputEvents(string input); //error: ‘string’ has not been declared
string prompt(); //error: ‘string’ does not name a type
};
#endif
que incluye este archivo en mi main.cpp, y en otras partes principal que utilizar el tipo de string
y funciona muy bien. Aunque en main he incluido iostream
en lugar de string
(para otros fines). Sí, también intenté incluir iostream en mi clase AppController pero no resolvió nada (tampoco lo esperaba).
Así que no estoy muy seguro de cuál es el problema. ¿Algunas ideas?
+1 para evitar 'usar el espacio de nombres' en los encabezados –
+1 para describir la respuesta. Mencionando una posible forma de implementación. – Tirth