Aquí hay un ejemplo sobre switch - case que funciona bien con una sola letra.
Código C++:
Ver original
#include <stdio.h> int main() { char *buffer = "Any character stream"; int capa, lettera, nota; char c; capa = lettera = nota = 0; while ( c = *buffer++ ) // Walks buffer until NULL { switch ( c ) { case 'A': capa++; break; case 'a': lettera++; break; default: nota++; } } printf_s( "\nUppercase a: %d\nLowercase a: %d\nTotal: %d\n", capa, lettera, (capa + lettera + nota) ); }
https://msdn.microsoft.com/es-es/lib...or=-2147217396
Como puede ver, usa la letra A y la a.
Mi código aquí abajo usa más letras en el case, parece ser que no me hace caso.
Código C++:
Ver original
switch (Recibidos) { case "ON": panel1->BackColor = Color::Green; label_Lectura->Text = "Activado"; pictureBox_Dibujo->Load("Led\\Led_rojo_encendido.png"); Recibidos = ""; break; case "OFF": panel1->BackColor = Color::Red; label_Lectura->Text = "Desactivado"; pictureBox_Dibujo->Load("Led\\Led_rojo_apagado.png"); Recibidos = ""; break; }
Usa case ON y OFF, ahí da fallos como este que me indica.
Gravedad Código Descripción Proyecto Archivo Línea
Error C2051 la expresión case no es una constante Entrada_Arduino_CPP_CLR_1 c:\users\usuario\documents\visual studio 2015\projects\entrada_arduino_cpp_clr_1\entrada_ar duino_cpp_clr_1\Form_Principal.h 61
Esto no le pasa nada a C# ni VB.
¿Hay solución para C++ 2015?
Saludos.