2010-05-22 13 views

Respuesta

9

Si #include <ostream>, ostream se definirá en el espacio de nombres std:

#include <ostream> 

// ... 

std::ostream & Print (std::ostream & stream); 
+0

Si su programa no es enorme , simplemente ponga 'using std :: ostream' después del #include; la vida y las líneas son demasiado cortas para escribir std :: más de lo que tiene que –

+0

Mejor puede ser #include , que contiene solo declaraciones directas. –

+5

@Tom Womack: NUNCA SIEMPRE ponga declaraciones de uso en un archivo de encabezado. La vida es muy corta para resolver el problema que eso causará cuando explote en tu cara. –

0

código mínimo para esta declaración para compilar:

#include <iosfwd> 
using namespace std; 
+4

No debe poner 'using namespace std;' en un archivo de encabezado. – Yacoby

+0

de acuerdo. Pero no dije que este código iba a un archivo de encabezado. Si no tiene control sobre el contenido del archivo de encabezado incluido, estas dos líneas lo harán funcionar desde el archivo .cpp. En cualquier caso, es una mejor opción que en este caso. – BenG

1

Uso 'utilizar' si no desea extraiga el espacio de nombres completo, p. ej .:

#include <iosfwd> 
using std::ostream; 
Cuestiones relacionadas