elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Que diferencia hay entre una funcion void e int??
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Que diferencia hay entre una funcion void e int??  (Leído 5,843 veces)
Grado 33

Desconectado Desconectado

Mensajes: 36


Para ser 1 pregunta a 1


Ver Perfil
Que diferencia hay entre una funcion void e int??
« en: 21 Mayo 2017, 15:06 pm »

Hola, recién entré a aprender c++, y ahora estoy con las funciones. Mi duda es la siguiente: Que diferencia hay entre una funcion void e int??

pregunto esto porque muchas veces se usa int funcion (parametros) o void funcion (parametros) según el valor de retorno o algo asi. pero por ejemplo, si hago una funcion que sirve para sumar dos enteros:
Código:
int suma(num, num2)
{
cout << num + num2 << endl;
}

y pongo int para que la funcion sea int (como se supone que debe de ser) va bien, pero pasa exactamente lo mismo que si en ves de poner int pongo void
Código:
void suma(num, num2)
{
cout << num + num2 << endl;
}

entonces, que diferencia hay?? porqué hay que usar int y no void, si ambos funcionan igual??


En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Que diferencia hay entre una funcion void e int??
« Respuesta #1 en: 21 Mayo 2017, 15:22 pm »

Como te acqbas de iniciar te diré que debes hacer la función del mismo tipo que regresarás con el return a final de ella. Si la función no devolverá nada debe ser void.
Si te fijas en los mensajes del compilador te lanzará quejas por no devolver nada cuando hay que hacerlo.
La verdad es mucho más profunda pero a nivel de quien acaba de empezar basta eso.


En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Que diferencia hay entre una funcion void e int??
« Respuesta #2 en: 21 Mayo 2017, 18:30 pm »



Hay 2 posibles casos: que una función no retorne nada (en tal caso le ponemos void), o que retorne algo (en tal caso, le ponemos el tipo que retorna, que puede ser cualquiera)(en este caso, int).

Código
  1. int suma(int num, int num2){
  2.    return num + num2;
  3. }
  4.  
  5. int main(){
  6.    int resultado = suma(5, 7);
  7.    cout __ resultado __ endl;
  8.  
  9.    // O, directamente:
  10.     cout __ suma(5, 7) __ endl;
  11. }

Código
  1. void sumaYCout(int num, int num2){
  2.    cout __ num + num2 __ endl;
  3. }
  4.  
  5. int main(){
  6.    sumaYCout(5, 7);
  7. }

(Perdona por no poner los símbolos menor que en los cout, pero si los pongo se corta el mensaje ahí por determinadas razones que ahora no puedo solucionar :X

El tema es, si no vas a hacer nada con el retorno de la función, no pasa nada. Sin embargo, si la función realmente no va a retornar nada, entonces debe ser void.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines