神秘的C语法
发布时间:2020-12-16 10:51:10 所属栏目:百科 来源:网络整理
导读:我试图通过并理解一个使用内在速度的卡方程序.在这个过程中,我遇到了一行我无法理解的代码. 我试过检查教科书,谷歌和搜索这个网站没有运气.我认为问题在于,在不了解语法的情况下,我无法用术语或关键词充分描述搜索以获得任何相关结果. 这是我不理解的代码行
我试图通过并理解一个使用内在速度的卡方程序.在这个过程中,我遇到了一行我无法理解的代码.
我试过检查教科书,谷歌和搜索这个网站没有运气.我认为问题在于,在不了解语法的情况下,我无法用术语或关键词充分描述搜索以获得任何相关结果. 这是我不理解的代码行: 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*) = chi2_baseline_float; #ifdef __SSE__ chi2_float = chi2_intrinsic_float; #endif return chi2_float(dim,x,y); } 在我看来,它可能是声明和定义一个函数,当我注释掉该行并重新编译时,我得到: 错误C2659:’=’:作为左操作数运行 如果需要,我可以发送包含此函数的.h文件,但它正如您对参数所期望的那样. 任何帮助将不胜感激. 解决方法
有问题的行是根据__SSE__的值将类型函数指针的变量设置为另外两个函数之一.
然后它调用chi2_float指向的函数并返回结果. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |