組み込みの速度を使用するカイ二乗プログラムをウォークスルーして理解しようとしています。このプロセスで、理解できないコード行に出くわしました。
教科書、Google、このサイトの検索を見直してみましたが、うまくいきませんでした。問題は、構文について何も知らずに、関連する結果を得るのに十分な用語またはキーワードで検索を説明できないことだと思います。
理解できないコード行は次のとおりです。
float (*chi2_float)(const int, const float*, const float*) = chi2_baseline_float;
そして、これを含む関数は次のとおりです。
float chi2_float(const int dim, const float* const x, const float* const y) {
float (*chi2_float)(const int, const float*, const float*) = chi2_baseline_float;
#ifdef __SSE__
chi2_float = chi2_intrinsic_float;
#endif
return chi2_float(dim, x, y);
}
おそらく関数を宣言および定義しているように見えます。行をコメントアウトして再コンパイルすると、次のようになります。
エラー C2659: '=' : 行 chi2_float = chi2_intrinsic_float の左オペランドとして機能します。
必要に応じて、この関数を含む .h ファイルを送信できますが、パラメーターから期待されるとおりです。
どんな助けでも大歓迎です。