Ich bin ein C ++ - Anfänger und lese Bjarne Stroustrups Programmierung: Prinzipien und Praxis mit C ++ .
Im Abschnitt 3.9.2 Unsichere Konvertierungen erwähnte der Autor
Wenn der Initialisierer ein ganzzahliges Literal ist, kann der Compiler den tatsächlichen Wert überprüfen und Werte akzeptieren, die keine Verengung implizieren:
int char b1 {1000}; // error: narrowing (assuming 8-bit chars)
Diese Erklärung verwirrt mich. Es werden zwei Typen ( intund char) verwendet. Ich habe noch nie eine solche Erklärung in Java und Swift gesehen (die beiden Sprachen, mit denen ich relativ vertraut bin). Ist das ein Tippfehler oder eine gültige C ++ - Syntax?