hola! estuve programando con vectores pero al momento de pasar un vector completo por una función me tira error... ojalá me pudieran orientar
#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;
}
}
}
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:
int posicion(string, vector<string>);