Const char compiling problem

I ve been having trouble compiling this

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
  typedef struct persona {
	char nombre1[50];
	char nombre2[50];
	char apellido[50];
	int edad;
	char age;
	char sexo[10];
	int cedula;

}X;

void name2(persona &alguien){
	bool si = true;
	while (si) {
		cout << "¿tiene usted segundo nombre?" << "S/N" << endl;
		char respuesta;
		cin >> respuesta;
		if ((respuesta == 'S') || (respuesta == 's')) {
			cout << "Introduzca segundo nombre" << endl << endl;
			cin>>alguien.nombre2;
			si = false;
			}
		else if ((respuesta == 'N') || (respuesta == 'n')) {
			alguien.nombre2= "";
			si = false;
						
		}
		system("cls");


	}
}

It appears to be a problem with asigning alguien.nombre2=""; it says it cant convert a constant char into a char...
Last edited on
Why not just use a string with getline?
 
getline(cin, alguien.nombre2);
This way you assign a pointer to an array. That doesn' work. You need to use strcpy(...). See

http://www.cplusplus.com/reference/cstring/strcpy/?kw=strcpy
Topic archived. No new replies allowed.