Tôi là người mới bắt đầu học C ++ và tôi đang đọc Lập trình của Bjarne Stroustrup: Nguyên tắc và thực hành sử dụng C ++ .
Trong phần về 3.9.2 Chuyển đổi không an toàn , tác giả đã đề cập đến
Khi trình khởi tạo là một chữ số nguyên, trình biên dịch có thể kiểm tra giá trị thực và chấp nhận các giá trị không ngụ ý thu hẹp:
int char b1 {1000}; // error: narrowing (assuming 8-bit chars)
Tôi bối rối trước tuyên bố này. Nó sử dụng hai loại ( int
và char
). Tôi chưa bao giờ thấy khai báo như vậy trong Java và Swift trước đây (hai ngôn ngữ tôi tương đối quen thuộc). Đây là lỗi đánh máy hay cú pháp C ++ hợp lệ?