Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Poyoncio en 26 Agosto 2016, 16:59 pm



Título: [C++]Errores sin sentido
Publicado por: Poyoncio en 26 Agosto 2016, 16:59 pm
Estaba programando y de repente me empezaron a dar errores, empeze otro codigo para entender que errores me daba pero sigo sin entenderlos:
Este codigo no me da error el punto y coma ese nunca lo havia puesto y si no lo pongo ahora me marca error
Código
  1. #include <iostream>
  2. int main(){
  3.    int sumar();{ //Estas dos comillas nunca las havia puesto...
  4.        int a = 2+2;
  5.        std::cout << a; //Si aqui pongo endl, me da error...
  6.        return 0;
  7.    }
  8.    return 0;
  9. }
  10.  
En canvio, siempre e estado programando de esta forma y nunca havia tenido problemas, si no pongo el punto y coma en la funcion entre ) y { me da error ademas, el endl tambien me da error
Código
  1. #include <iostream>
  2. int main(){
  3.    int sumar(){ //Si no pongo ; entre medio de las llaves da error
  4.        int a=2+2
  5.        std::cout << a << endl; //Este endl me da error
  6.        return 0;
  7.    }
  8. }
  9.  
Estos son los errores:
C:\RUTA....   [Warning] null character(s) ignored
C:\RUTA....   In function 'int main()':
C:\RUTA....       [Error] a function-definition is not allowed here before '{' token
C:\RUTA....   recipe for target 'main.o' failed

No entiendo nada!!!!! Se ha vuelto todo loco.


Título: Re: [C++]Errores sin sentido
Publicado por: AlbertoBSD en 26 Agosto 2016, 17:15 pm
Código
  1. #include <iostream>
  2. int main(){
  3.  
  4. }
  5.  
  6.    int sumar(){ //Si no pongo ; entre medio de las llaves da error
  7.    int a=2+2
  8.    std::cout << a << endl; //Este endl me da error
  9.    return 0;
  10.    }
  11.  

Las funciones deben de estar fuera del main

Saludos!


Título: Re: [C++]Errores sin sentido
Publicado por: Poyoncio en 26 Agosto 2016, 17:18 pm
Código
  1. #include <iostream>
  2. int main(){
  3.  
  4. }
  5.  
  6.    int sumar(){ //Si no pongo ; entre medio de las llaves da error
  7.    int a=2+2
  8.    std::cout << a << endl; //Este endl me da error
  9.    return 0;
  10.    }
  11.  

Las funciones deben de estar fuera del main

Saludos!
Si es que cada dia soy mas tonto.......  :o
Muchas gracias, como siempre  ;)


Título: Re: [C++]Errores sin sentido
Publicado por: AlbertoBSD en 26 Agosto 2016, 17:28 pm
Cada día aprendemos cosas nuevas y ganamos mas experiencia.

Eso si resolvemos una duda y 2 mas aparecen.

Saludos


Título: [C++]Errores sin sentido
Publicado por: Poyoncio en 26 Agosto 2016, 22:50 pm
Tengo otro pequeño error, lo publico aqui mismo porque no voy a hacer mil posts  :P (espero que lo entiendan).

Estoy intentando parsear la ruta del cmd, si hago chdir con system() me devuelve la ruta actual (C:\User\Usuario\Desktop\C++) pero yo quiero llegar a C:\User\Usuario, he intentado crear un bucle para que cuando detecte tres "\"  se cree una cadena nueva, enfin, que me da error y creo que es por el caracter '\', que opciones se pueden usar a '\' o que forma tendria sino de obtener la ruta sin usar caracteres '\' ?
Aqui mi codigo (no esta todo lo que yo he dicho que hace y dejo solo la funcion):
Código
  1. #include <iostream>
  2. int ruta (){
  3.    ruta_usuario[126]; //aqui el contenido se ha obtenido anteriormente
  4.    int numero = 3;
  5.    while (ruta_usuario[numero] != '\' && numero <126){ //aqui da error en el \
  6.    numero++;
  7.    }
  8.    return 0;
  9. }
El problema me lo da ahi, en esa parte hay alguna solucion o otra opcion para usar ese caracter? Quizas algo relacionado con la tabla ASCII?
El so es windows.

PD: He estado googleando pero no he encontrado nada claro, me he liado aun mas...


Título: Re: [C++]Errores sin sentido
Publicado por: ivancea96 en 26 Agosto 2016, 22:57 pm
Pon '\\'.
\n: salto de linea
\t: tabulador
\\: \
etc


Título: Re: [C++]Errores sin sentido
Publicado por: Poyoncio en 26 Agosto 2016, 23:01 pm
Pon '\\'.
\n: salto de linea
\t: tabulador
\\: \
etc
Muchiiiiisimas gracias se me estaba yendo la olla ya :rolleyes:

Muchas gracias de nuevo, todos los errores me tienen que venir hoy  :xD