"no matching function for call to `coordenada::registrar(std::string&, std::string&, std::string&)' " y este
"candidates are: void coordenada::registrar(std::string*, std::string*, std::string*) "
y de vderdad no entiendo que significa, estoy usando clases pero como no las entiendo muy bien a lo mejor toy haciendo algo mal, en el programa Simplemente puedes agregar lugares y asociar los lugares a la persona que los registró, en otras palabras yo lo que quiero es saber los N lugares y quien los registró. como ven tengo que guardar los datos de varios usuarios y la unica manera que se me ocurrio es esta,
este es el codigo:
Código C++:
Ver original
#include <cstdlib> #include <iostream> #define MAX 50 using namespace std; class coordenada { private: string lugar[MAX]; string x[MAX]; string y[MAX]; public: void registrar(string a[],string b[],string c[]); string mostrar(string ax[],string b[],string c[]); }; void coordenada::registrar(string a[],string b[],string c[]) { char op2; do{ cout<<"Ingrese nombre del lugar:"<<endl; cin>>a[MAX]; this->lugar[MAX]=a[MAX]; cout<<"Ingrese coordenada en x:"<<endl; cin>>b[MAX]; this->x[MAX]=b[MAX]; cout<<"Ingrese coordenada en y:"<<endl; cin>>c[MAX]; this->y[MAX]=c[MAX]; cout<<"registro exitoso"; cout<<"Desea continuar?"<<endl; cout<<"1. no"<<endl; cout<<"1. cualquier otra tecla para continuar"<<endl; cout<<"su opcion fue la numero:"; cin>>op2; }while(op2!='1'); }; /*string coordenada::mostrar(string ax[],string b[],string c[]) { cout<<this->lugar[a]; cout<< this->x[a]; cout<< this->y[a]; }*/ class persona { public: string nombre; long int cedula; string id; }; void parametros_incorrectos() { cout<<"parametros incorrectos"; } int main(int argc, char *argv[]) { //variables char op1; char op2; string ax[MAX]; string bx[MAX]; string cx[MAX]; //-------------------------------- coordenada *Newcoor= new coordenada; persona *usuario= new persona; do{ cout<<"---------------------------REGISTRO DE COORDENADAS------------------------------"<<endl; cout<<"Indique accion:"<<endl; cout<<"1. Agregar una coordenada al sistema"<<endl; cout<<"2. Crear un usuario"<<endl; cout<<"3. Salir"<<endl; cout<<"su accion seleccionada fue:"; cin>>op1; switch(op1) { case '1': Newcoor->registrar(ax[MAX],bx[MAX],cx[MAX]); break; case '2': break; case '3': break; default: parametros_incorrectos(); break; } }while(op1!='3'); return EXIT_SUCCESS; }
nota: se me dijo que debo usar solo clases