ポインタ引数を持つ関数を別の関数に引数として正しく渡して値を返すにはどうすればよいですか?ポインタ引数を持つ関数を別の関数の引数として使用する
I持っ2つのアレイ(POS1とPOS2)へのポインタの形で二つの引数を取る関数:
float distance(float *pos1, float *pos2){
return sqrt(pow((pos1[0]-pos2[0]),2)+pow((pos1[1]-pos2[1]),2));
}
私は別の関数の引数として、この関数を通過したい:
float force(float mass1, float mass2, float(*distance)(float,float), float scaling, float *pos1, float *pos2){
return distance(*pos1, *pos2); // how to correctly return the value?
}
これは値を返す正しい方法でしょうか?私は "距離"機能のargumetsを "力"機能にも含める必要がありますか?
ありがとうございます!
'return distance(mass1、mass2); ' – user657267
ここでは、渡す引数は実際には' float * '型です。それで、私は型の隣にアスタリスクを書くことを好む理由です(コンマで宣言を使わないでください) – teivaz
他の問題とは別に、 'distance'は2つの2要素配列を渡したいと思われます。それを呼び出す配列が2つありません。 (そして、2つの質量を与えられた任意の種類の距離を計算することは、次元的に信じられないようです。) –