Soy un principiante de C ++ y estoy leyendo Programación de Bjarne Stroustrup: Principios y práctica con C ++ .
En la sección sobre 3.9.2 Conversiones inseguras , el autor mencionó
Cuando el inicializador es un literal entero, el compilador puede verificar el valor real y aceptar valores que no impliquen un estrechamiento:
int char b1 {1000}; // error: narrowing (assuming 8-bit chars)
Estoy desconcertado por esta declaración. Utiliza dos tipos ( int
y char
). Nunca antes había visto tal declaración en Java y Swift (los dos lenguajes con los que estoy relativamente familiarizado). ¿Es esto un error tipográfico o una sintaxis válida de C ++?