Một số hàm như printf() trả lại giá trị gần như không bao giờ được sử dụng trong mã thực (trong trường hợp printf, số ký tự được in). Tuy nhiên, một số công cụ, như lint, hy vọng rằng nếu một hàm trả về một giá trị của nó phải được sử dụng, và sẽ phàn nàn, trừ khi bạn viết một cái gì đó như:
int n = printf("hello");
sử dụng khoảng trống dàn diễn viên:
(void) printf("hello");
là một cách để nói những công cụ như vậy bạn thực sự không muốn sử dụng giá trị trả về, do đó giữ chúng yên lặng. Nếu bạn không sử dụng các công cụ như vậy, bạn không cần phải bận tâm, và trong mọi trường hợp, hầu hết các công cụ đều cho phép bạn cấu hình chúng để bỏ qua các giá trị trả về từ các hàm cụ thể.
Nguồn
2010-06-14 08:51:45
Tôi hiểu. Nhưng thế thì tại sao ai lại muốn làm điều này cho một chức năng đã trở về vô hiệu? – puffadder
Chắc chắn, nhưng ông cho biết dàn diễn viên đã được thực hiện cho các chức năng mà trở về void. – Artefacto
@puffadder Khi đoán, kiểu trả về của hàm đã được thay đổi tại một thời điểm nào đó, nhưng mã gọi lại thì không. –