0

次の方法があるとします。

double * myMethod(double (*f)(double[]), double *x, int size)
{
    //do something and return
}

なぜ次のように書けないのですか?

double * myMethod(double (*f)(double *), double *x, int size)
{
    //do something and return
}

[]を*に置き換えますか?

4

1 に答える 1

1

可能ですが、配列はポインターを非推奨にするため、実際には同じシグネチャを持っています。エラーが発生した場合は、関数を再定義しようとしていることが原因です。

2番目の関数の名前を変更したため、 http://ideone.com/E1Z7Bが機能します。

于 2012-05-04T08:49:11.490 に答える