[C con Clase] Error al compilar una cosa sencilla
Steven Davidson
srd4121 en njit.edu
Vie Ago 8 00:17:53 CEST 2008
Hola Rubén,
Rubén wrote:
> Hola a todos,
>
> Estaba leyendo un curso que me he bajado de internet y decidí que una
> buena cosa para aprender es escribir el código y ver que hace.
>
Una buena idea :)
> La cosa está en que al compilarlo me da el error de abajo.
>
Veamos el código.
>
> //Saca números en tres formatos
>
> #include <iostream>
> #include <iomanip>
>
> int num;
>
> cin<<num;
> cout<<"el numero decimal es: "<<dec<<num<<endl;
> cout<<"el numero octal es: "<<dec<<oct<<endl;
> cout<<"el numero decimal es: "<<dec<<hex<<endl;
>
>
> /*num.cc:7: error: expected constructor, destructor, or type
> conversion before ‘<<’ token
> num.cc:8: error: expected constructor, destructor, or type conversion
> before ‘<<’ token
> num.cc:9: error: expected constructor, destructor, or type conversion
> before ‘<<’ token
> num.cc:10: error: expected constructor, destructor, or type
> conversion before ‘<<’ token */
>
> Me gustaría saber a que se debe. He mirado las líneas y son las de
> cin y cout, pero no veo el error. ¿Alguien me lo podría explicar?
>
En primer lugar, necesitas agregar la sentencia:
using namespace std;
antes de usar las entidades en las bibliotecas estándares.
Tienes un error en 'cin'. El operador correcto es >>. Esto es,
cin >> num;
Espero que exista un 'int main()' por ahí que contenga estas sentencias.
Esto debería ser:
int main()
{
int num;
cin >> num;
cout << "el numero decimal es: " << dec << num << endl;
...
}
Por último, las dos últimas sentencias no tienen mucho sentido. Debería
aparecer:
cout << "el numero octal es: " << oct << num << endl;
cout << "el numero decimal es: " << hex << num << endl;
Quieres mostrar el valor en 'num' según los manipuladores indicados.
Espero que todo esto te ayude.
Steven
Más información sobre la lista de distribución Cconclase