Tengo un problema con este codigo en Dev-C++ 4.9.9.2, intentando hacer una lista me arroja este error:
conversion from `const char[2]' to non-scalar type `Persona' requested
Y este es el codigo que tengo:
#include<iostream>
#include<string>
#include<iomanip>
using namespace std;
struct Persona
{
string Nombre;
string NumeroTelefono;
Persona *sigDireccion;
};
void mostrar(Persona *);
int main(){
Persona p1=("a","1");
Persona p2=("b","2");
Persona p3=("c","3");
Persona *primera;
primera=&p1;
p1.sigDireccion=&p2;
p2.sigDireccion=&p3;
p3.sigDireccion=NULL;
mostrar(primera);
return 0;}
void mostrar(Persona *contenido)
{
while(contenido!=NULL){
cout<<endl<<setiosflags(ios::left)
<<setw(30)<<contenido->Nombre
<<setw(20)<<contenido->NumeroTelefono;
contenido=contenido->sigDireccion;
}
}
Ya intente hacer el cambio con
Persona* p1=("a","1");
Pero me sigue marcando el error en main lo compilo y guardo en .cpp Como soluciono esa parte?
The line
Persona p1=("a","1");
is equivalent to:
Persona p1="1";
because of the parenthesis and the comma operator. That explains the compiler error. The LHS is an object of type Persona
and the RHS is of type const char[2]
.
What you need to use is:
Persona p1("a","1");
or
Persona p1={"a","1"};
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments