Nó là khá cần thiết để sử dụng -pedantic
cờ.
Tôi chỉ nói thêm rằng với tiêu chuẩn hiện tại, nên sử dụng một cái gì đó tương tự như:
-std=c++17 -Wall -Wextra -Werror -Wpedantic -pedantic-errors
Ở đâu:
-std=c++17
nói với nó để tuân thủ sửa đổi của tiêu chuẩn C ++, được xuất bản vào năm 2017, bạn có thể đọc thêm về nó ở đây .
-Wall
nói với nó:
Cho phép tất cả các cảnh báo về các công trình mà một số người dùng cho là đáng nghi ngờ và dễ tránh (hoặc sửa đổi để ngăn cảnh báo), thậm chí kết hợp với macro, nói cách khác là một số cảnh báo.
-Wextra
nói với nó để kích hoạt một số cảnh báo, vẫn không phải tất cả.
-Werror
nói với nó để làm cho tất cả các cảnh báo thành lỗi.
-Wpedantic
hoặc chỉ -pedantic
nói với nó:
Đưa ra tất cả các cảnh báo theo yêu cầu nghiêm ngặt của ISO C và ISO C ++; từ chối tất cả các chương trình sử dụng các tiện ích mở rộng bị cấm và một số chương trình khác không tuân theo ISO C và ISO C ++.
-pedantic-errors
bảo nó đưa ra lỗi bất cứ khi nào tiêu chuẩn cơ sở (xem -Wpedantic) yêu cầu chẩn đoán.
Bộ này thường hữu ích không chỉ cho người mới bắt đầu, vì họ sẽ dần dần tìm hiểu từng cảnh báo có khả năng dẫn đến lỗi, mà còn cho sử dụng bình thường.
Tất cả các tùy chọn cảnh báo được mô tả chi tiết tại đây trên trang GNU / GCC .