Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/02/2016, 18:53
REHome
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 729
Antigüedad: 17 años, 6 meses
Puntos: 8
switch C++ 2015 CLI

Hola:

Aquí hay un ejemplo sobre switch - case que funciona bien con una sola letra.

Código C++:
Ver original
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.    char *buffer = "Any character stream";
  5.    int capa, lettera, nota;
  6.    char c;
  7.    capa = lettera = nota = 0;
  8.  
  9.    while ( c = *buffer++ )   // Walks buffer until NULL
  10.    {
  11.       switch ( c )
  12.       {
  13.          case 'A':
  14.             capa++;
  15.             break;
  16.          case 'a':
  17.             lettera++;
  18.             break;
  19.          default:
  20.             nota++;
  21.       }
  22.    }
  23.    printf_s( "\nUppercase a: %d\nLowercase a: %d\nTotal: %d\n",
  24.       capa, lettera, (capa + lettera + nota) );
  25. }

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
  1. switch (Recibidos)
  2.             {
  3.             case "ON":
  4.                 panel1->BackColor = Color::Green;
  5.                 label_Lectura->Text = "Activado";
  6.                 pictureBox_Dibujo->Load("Led\\Led_rojo_encendido.png");
  7.                 Recibidos = "";
  8.                 break;
  9.  
  10.             case "OFF":
  11.                 panel1->BackColor = Color::Red;
  12.                 label_Lectura->Text = "Desactivado";
  13.                 pictureBox_Dibujo->Load("Led\\Led_rojo_apagado.png");
  14.                 Recibidos = "";
  15.                 break;
  16.             }

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.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar