我收到了类似的代码行
entr -= normed_eigval * log(normed_eigval) / log(dim);
虽然normed_eigval源于complexArray*,我知道那dim是类型ptrdiff_t。当我尝试使用 MATLAB 的 MEX 接口和 Visual Studio 10 作为编译器来编译代码时,我收到一个错误:
C2668: ambiguous call to overloaded function
告诉我log可能是long double,float或者double。
我使用的是 64 位 Windows 机器。我可以使用类型转换来解决这个问题吗?如果是,我应该选择哪种类型?size_t我认为如果或ptrdiff_t将要转换为标准整数类型,在 64 位 Windows 下可能会出现一些问题......