static with(void)

Appleのコードの一部です。

私は最初の行を理解していません。返品に「無効」があるのはなぜですか?

// forward declaration of our utility functions
static NSUInteger _ImageCount(void);

static NSUInteger _ImageCount(void)
{
    static NSUInteger count = 0;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        count = [_ImageData() count];
    });
return count;
}
0
nl ru de
最初の宣言は単なる関数プロトタイプです。宣言/定義の void 部分には、関数パラメータがないことだけが記載されています。戻り値の型は NSUInteger です。
追加された 著者 Paul R,
あなたが正しいです。私は行の冒頭で "空"を見ていました。
追加された 著者 user1056113,

2 答え

foo(void) means that the function does not expect any parameter. But it does return and NSUInteger.

static NSUInteger _ImageCount(void)
^      ^          ^           ^
|      |          |           parameter list
|      |          function name
|      return type
visibility (may be referenced only from this module)
0
追加された
パラメータ()または(void)は同じではありません。その選択肢は...
追加された 著者 Anoop Vaidya,
静的NSUInteger _ImageCountは良いですか?または、パラメータがないたびに「(void)」を追加する必要がありますか?
追加された 著者 user1056113,
私はしばしば(void)の代わりに()を見た。それは知って良いです。
追加された 著者 user1056113,

関数は "NSUInteger"を返さなければならないので、関数を間違って思いついたと思います。

"void"は、 "no parameter"を指定するc/c ++から来るパラメータ型です。

static NSUInteger _ImageCount(void);

"NSUInteger"は戻り値の型です "void"はパラメータなしを指定します

0
追加された
はい、私は "空"の場所を(私の頭の中で)逆転させました。それはあなたのようにBinyamin Sharetが良い説明を示したという意味を変えました。
追加された 著者 user1056113,