ayuda con vectores

Iniciado por elcout, 26 Noviembre 2020, 20:46 PM

0 Miembros y 1 Visitante están viendo este tema.

elcout

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;
}
}
}

K-YreX

#1
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>);
Código (cpp) [Seleccionar]

cout << "Todos tenemos un defecto, un error en nuestro código" << endl;