我试图通过并理解一个使用内在速度的卡方程序。在这个过程中,我遇到了一行我看不懂的代码。
我试过复习教科书、谷歌和搜索这个网站,但没有成功。我认为问题在于,在对语法一无所知的情况下,我无法用术语或关键字来充分描述搜索以获得任何相关结果。
这是我不明白的代码行:
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 文件,但这与您对参数的期望一样。
任何帮助将不胜感激。