Lỗi "dấu chấm phẩy bị thiếu" có thực sự cần thiết không? Tại sao không coi nó như một lời cảnh báo?Dấu chấm phẩy trong C++?
Khi tôi biên dịch mã này
int f = 1
int h=2;
trình biên dịch thông minh nói với tôi rằng nơi tôi đang thiếu nó. Nhưng với tôi nó giống như - "Nếu bạn biết điều đó, chỉ cần đối xử với nó như thể nó là ở đó và đi trước (Sau đó tôi có thể sửa chữa các cảnh báo.)
int sdf = 1, df=2;
sdf=1 df =2
Ngay cả đối với mã này, nó cư xử như nhau đó.. nghĩa là, ngay cả khi nhiều báo cáo (không có;). đang ở trong cùng một dòng, trình biên dịch biết
Vì vậy, tại sao không chỉ loại bỏ yêu cầu này tại sao không cư xử như Python, Visual Basic vv
Tóm tắt? thảo luận
Hai ví dụ/trường hợp bị thiếu và dấu chấm phẩy thực sự sẽ gây ra sự cố.
1.
return
(a+b)
này được trình bày như là một trong những khía cạnh tồi tệ nhất của JavaScript. Nhưng, trong trường hợp này, chèn dấu chấm phẩy là một vấn đề cho JavaScript, nhưng không phải là cho C++. Trong C++, bạn sẽ gặp lỗi khác nếu việc chèn ;
được thực hiện sau khi trả lại. Đó là, một giá trị trả về bị thiếu.
int *y;
int f = 1
*y = 2;
Đối với điều này tôi đoán, không có cách nào tốt hơn để giới thiệu như tách tuyên bố, đó là một dấu chấm phẩy .
Python & VB giống như C++, nhưng thay vì chỉ có dấu chấm phẩy để phân tách các câu lệnh, chúng sử dụng ngắt dòng, dẫn đến yêu cầu của các ký tự tiếp tục dòng. – kennytm
** "Sau đó tôi có thể sửa chữa cảnh báo" ** - yêu thích điều này :). Tôi không thể đếm được bao nhiêu * Sau đó * tôi đã thấy, không bao giờ được sửa (không chỉ về lập trình) –
@Alexander Malakhov - Tôi đồng ý – SysAdmin