Quería un poco de información acerca de este código que acabo de aprender.
Código C:
Ver original
#include <iostream> using namespace std; // tipo_de_dato nombre_de_funcion (tipos_de_datos_argumentos) void multiplicar (int, int); // Sirve para verificar si hay errores en los tipos de datos. Y siempre que llamemos a "multiplicar" se van a convertir los argumentos a tipos de datos enteros "int". int main() { multiplicar (5, 4); // El tipo de dato tiene que ser el mismo que en el prototipo "primer void" y el encabezado de la funcion "segundo void". return 0; } void multiplicar (int x, int y) { cout << x * y << endl; } // "tipo_de_dato" es lo que devuelve la funcion. // "nombre_de_funcion" es el nombre de la funcion que vamos a crear. // "(tipos_de_datos_argumentos)" son los argumentos que le debemos pasar a la funcion para trabajar correctamente. // "void" no devuelve ningun tipo de dato.
Según tengo entendido "void" no devuelve ningún tipo de dato.
Pero int main () tampoco devuelve ningún tipo de dato .
1- Entonces por que no puedo poner void main ()?
2- Que datos se suponen que debe devolver un int main (), en todos los ejemplos que he visto hasta ahora siempre el campo de los parámetros siempre esta vació.
3- De que me sirve crear un prototipo void (), si puedo establecer esas variables dentro del cuerpo de int main ().
4- Porque el primer void lleva punto y coma y el segundo void no la lleva?
5- int main () siempre tendrá los argumentos vacíos? Por que no le veo mucha lógica aun a esta linea de código.
6- void solo sirve para punteros según he leído. Aun no los he estudiado así que puede ser el problema de que no los entienda muy bien.
Espero que me puedan aclarar estas dudas.
Desde que ha entrado el void en mi vida todo se ha complicado demasiado jejeje.
PD: Si me lo explicáis, escribirlo de forma que un principiante lo entienda ^^.