我试图通过并理解一个使用内在速度的卡方方案。在这个过程中,我遇到了一些我无法理解的代码。神秘的C++语法
我曾尝试审查教科书,谷歌和搜索这个网站没有运气。我认为问题在于,在不了解语法的任何内容的情况下,我无法充分描述搜索的术语或关键字以获得任何相关结果。
这里是代码行,我不明白:
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文件,但它与您对参数期望的一样。
任何帮助将不胜感激。
不那么神秘;它只是一个函数指针。方便地使用C++教科书? –