我最近发现了这一行代码,但不知道 void with () 是什么意思。 有人可以帮忙吗? 谢谢
(void) myFunc();
(void)
的形式类似于强制类型转换,但是将其转换为void
(注意不是void *
)通常没有什么用。
然而,在这种情况下,(void) myFunc();
表示myFunc
返回一个值,并且编写此代码行的人想要丢掉该值,并且不希望编译器对此进行投诉和/或希望向代码的未来读者明确表明他们有意丢弃该值。在生成的代码中,(void) myFunc();
与前面没有任何内容的myFunc();
具有完全相同的效果。
由于此符号的历史滥用,一些编译器即使在它们前面放置了(void)
也会警告您不使用某些函数的值(例如malloc
,read
,write
),所以它比以前 less 有用。
(void) write(...)
这样的代码。编译器开发人员则决定忽略(void)
并强制发出警告,提醒程序员应该使用返回值。如果您想了解更多信息,请提一个新问题。 - zwolmyFunc
可能会返回
某个值。在函数调用时添加(void)
,(void)myFunc()
,是一种自我记录代码的方式。它的意思是,“我知道myFunc
会返回一个值,但我不关心它是什么。”