可能性の重複:
Why do all these crazy function pointer definitions all work? What is really going on?渡す関数ポインタ - セマンティクス
私は、等価性の両方を保持する理由コード
void f(int& i)
{
i++;
}
void g(void (passed_f)(int&),int& a) //`passed_f` equivalent to `*passed_f`
{
passed_f(a);
}
int main()
{
int n=0;
g(f,n); //`f` is equivalent to `&f`
}
における説明のために感謝されますエラーが発生していないという意味で、同じ結果を返すのは、1
です。 g
に関数へのポインタや関数自体を受け入れるかどうかは関係ありません。私は[c]タグも適切であると推測します。
参考文献はC、afaikには存在しません – BlackBear
これは関数ポインタに関するCの文法的な特徴です。 'f'と'&f'の両方が同じです。 – chrisaycock
答えはThxです。標準のどこかで公式化されていますか? –