Được rồi, ít kỳ quặc mà tôi đã khám phá với trình biên dịch C++ của tôi.C++ có thực thi các câu lệnh trả về không?
Tôi có một đoạn mã không quá phức tạp để cấu trúc lại và tôi vô tình xoay sở để thoát khỏi đường dẫn không có câu lệnh trả về. Lỗi của tôi. Mặt khác, điều này được biên soạn, và bị phân đoạn khi tôi chạy nó và con đường đó đã bị tấn công, rõ ràng.
Đây là câu hỏi của tôi: Đây có phải là lỗi trình biên dịch hay không đảm bảo rằng trình biên dịch C++ sẽ thực thi sự cần thiết cho câu lệnh trả về trong hàm trả về không có khoảng trống?
Ồ, và rõ ràng, trong trường hợp này, đó là câu lệnh if không cần thiết nếu không có người khác đi kèm. Không có gotos, không có lối thoát, không hủy bỏ.
Trình biên dịch nào bạn đang sử dụng? – Dennis
Nếu sử dụng gcc ['-Wreturn-type'] (http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html), có thể với' -Werror = '. –
điều tương tự cũng xảy ra với tôi với gcc 4.4 –