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 ( int
und 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?