tienen respectiva que para ocurre imagen etiquetas etiqueta emplea coloca cierre atributo c++ debugging

c++ - respectiva - la inicialización de ''elemento'' se omite por la etiqueta ''caso''



etiquetas que no tienen cierre (2)

Cuando se declara una variable en un case , el próximo case está técnicamente todavía en el mismo ámbito, por lo que podría consultarlo allí, pero si acierta ese case sin tocarlo primero, terminaría llamando a una variable no inicializada. Este error impide eso.

Todo lo que necesita hacer es definirlo antes de la instrucción switch o usar llaves { } para asegurarse de que salga del alcance antes de salir de un case específico.

Esta pregunta ya tiene una respuesta aquí:

No entiendo por qué estoy recibiendo el error:

la inicialización de ''elemento'' se omite por la etiqueta ''caso''.

¿Puede alguien por favor explicarme?

void LinkedList::process_example(int choice) { switch(choice) { case 1: cout << endl << endl << "Current S = "; this->printSet(); cout << "Enter an element :"; char* element = "lol"; //cin>>element; cin.clear(); cin.ignore(200, ''/n''); this->Addelementfromback(element); //error is here cout << endl << endl << "Current S = "; this->printSet(); break; case 2: this->check_element(); break; case 3: cout << endl << endl; cout << "Current Set S = "; this->printSet(); cout << endl << "S has "; int count = this ->check_cardinality(); cout << count << " elements"; break; } }


Pruebe wrap- case con {} , y coloque toda su declaración dentro de {} .

case 1: { cout << endl << endl << "Current S = "; this->printSet(); // and other mess } break;

Debería poner todas estas declaraciones en funciones, mantener clara la declaración de case . Por ejemplo, escribe este estilo:

case 1: initializeElement(); break; case 2: doSomethingElse(); break;

Ver enlace