2016-10-11 9 views
0

foo(void)を明示的に実行する理由が、未知の量ではなく関数の引数がないことを指定しているので、foo()よりも優れている理由を説明するポストがあります。定義と宣言の両方にvoid関数のパラメータがありますか?またはただ一つ?

がfoo.h

void foo(void); 

:それはヘッダファイルの宣言などのソースファイル定義の両方で空白を置くことがベストプラクティスだ場合

しかし、私は見つけることができないようfoo.cの

void foo(void) 
{ 
    return; 
} 

OR


がfoo.h

void foo(void); 

foo.cの1がより良い練習があり、かついずれかの操作を実行するための具体的な理由がある

void foo() 
{ 
    return; 
} 

もう一方では?特定の場合、それは違いはありませんで

+0

主に意見に基づいています。両方とも同じ。他の意見は間違っています;-) – John3136

+2

@ John3136 Really? "主に意見に基づいて"?過去27年間の標準が明白に文書化されていて、「将来の改訂で撤回される可能性がある」と思われるものは、意見の問題ではない。 – Art

答えて

4

古いスタイルの関数宣言と空のかっこ付きの定義は、廃止された機能(N1570 6.11.6、6.11.7)です。それらを使用する正当な理由はほとんどありません。

(void)は一貫して()ではありません。

4

は、しかし、書くのは良い習慣です:

void foo(void) 
{ 

あなたはまた、事前に別のプロトタイプがなくても、関数の本体を書く時間が来る可能性があるため、とこれはプロトタイプとして役立ちますが、void foo() {はありません。

関連する問題