报错现象:
/home/bruce/study/Algorithm/EM/GMM/src/GMM.cpp:327:19: error: ‘_isnan’ was not declared in this scope
if (_isnan(result) || !_finite(result)){
^
/home/bruce/study/Algorithm/EM/GMM/src/GMM.cpp:327:39: error: ‘_finite’ was not declared in this scope
if (_isnan(result) || !_finite(result)){
^
/home/bruce/study/Algorithm/EM/GMM/src/GMM.cpp: In member function ‘double Gaussian_Mixture_Model::Gaussian_Distribution(double*, double*, double**)’:
/home/bruce/study/Algorithm/EM/GMM/src/GMM.cpp:361:19: error: ‘_isnan’ was not declared in this scope
if (_isnan(result) || !_finite(result)){
^
/home/bruce/study/Algorithm/EM/GMM/src/GMM.cpp:361:39: error: ‘_finite’ was not declared in this scope
if (_isnan(result) || !_finite(result)){
^
解决办法:
在windows下:
_isnan(x)
!_finite(x)
ubuntu下:
isnan(x)
isinf(x)
finite(x)
把报错的名称下划线去掉!
参考:https://blog.csdn.net/FRD2009041510/article/details/72154373