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?
答案 0 :(得分:1)
该行
Persona p1=("a","1");
相当于:
Persona p1="1";
因为括号和逗号运算符。这解释了编译器错误。 LHS是Persona
类型的对象,RHS类型为const char[2]
。
您需要使用的是:
Persona p1("a","1");
或
Persona p1={"a","1"};