hola buenas tardes. NO COMPRENDO PORQUE no compila :( ... obs. no me sale ningun error. gracias POR SU AYUDA.
#include <cstdlib>
#include <iostream>
void leer(int v,int tam);
using namespace std;
int main(int argc, char *argv[])
{
int v[50],n;
cout<<"Ingresar Tamaño del Vector"<<endl;
cin>>n;
leer(v[50],n);
system("PAUSE");
return EXIT_SUCCESS;
}
void leer(int v[50],int tam)
{
int i;
for (i=0;i<tam;i++)
{
cout<<"ingresar dato : "<<endl;
cin>>v[i];
}
}
1) El prototipo de la funcion y la definicion no coinciden en sus tipos, por eso este programa compila pero no enlaza al no encontrar la funcion que reciba como parametro dos enteros.
Linea 3:
void leer(int v,int tam);
Linea 15:
void leer(int v[50],int tam)
2) Si lo que queres pasar es un array entonces no podes pasar v[50] al llamar a la funcion (que por otra parte seria erroneo, al tener 50 elementos el array estos van de 0 a 49), tenes que pasar v simplemente.
leer(v, n);
ggracias por esas correciones pero aun no me compila por completo mira :(
#include <cstdlib>
#include <iostream>
void leer(int v,int tam);
using namespace std;
int main(int argc, char *argv[])
{
int v[50],n;
cout<<"Ingresar Tamaño del Vector"<<endl;
cin>>n;
leer(v,n);
system("PAUSE");
return EXIT_SUCCESS;
}
void leer(int v,int tam)
{
int i;
for (i=0;i<tam;i++)
{
cin>>v[i];
}
}
Lo cambiaste mal, el prototipo estaba mal ... ahora podes ponerlo mejor asi en ambos lugares:
void leer(int *v,int tam);
amigo me falta poner los corchetes....
#include <cstdlib>
#include <iostream>
int leer(int v[],int tam);
using namespace std;
int main(int argc, char *argv[])
{
int v[50],n;
cout<<"Ingresar Tamaño del Vector"<<endl;
cin>>n;
leer(v,n);
system("PAUSE");
return EXIT_SUCCESS;
}
int leer(int v[],int tam)
{
for (int i=0;i<tam;i++)
{ cout<<"ingrese Dato ";
cin>>v[i];
}
}
y ahora si me compila perfecto.
Asi si, [] y * son equivalentes.
Gracias. :)
De nadas ::)