Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: elcout en 26 Noviembre 2020, 20:46 PM

Título: ayuda con vectores
Publicado por: elcout en 26 Noviembre 2020, 20:46 PM
hola! estuve programando con vectores pero al momento de pasar un vector completo por una función me tira error... ojalá me pudieran orientar

Código (cpp) [Seleccionar]
#include <iostream>
#include <vector>

using namespace std;

int lugar;

void posicion();

int main(){
string dato;

vector<string> nombre;
vector<int> sueldo;


nombre.push_back("pedro");
sueldo.push_back(2000);

nombre.push_back("juan");
sueldo.push_back(3000);

nombre.push_back("diego");
sueldo.push_back(4000);

cout<<"ingrese dato a buscar: "; cin>>dato;
posicion(dato,nombre);//aqui me tira error:(
cout<<"el sueldo de "<<nombre[lugar]<<" es: "<<sueldo[lugar];
}

void posicion(string dato, vector<string> parametro){
for(int i=0;i<parametro.size();i++){
if(dato==parametro[i]){
cout<<i;
lugar=i;
}
}
}
Título: Re: ayuda con vectores
Publicado por: K-YreX en 26 Noviembre 2020, 21:19 PM
Esto es porque el prototipo de la función posicion() no tiene parámetros.
La función posicion(string, vector<string>) está implementada después de main() y no está definida antes por lo que no puedes utilizarla dentro del main().


EDIT: En vez de utilizar una variable global <lugar>, haz que la función posicion() devuelva la posición:
Código (cpp) [Seleccionar]
int posicion(string, vector<string>);