对重载函数的不明确调用 - 日志与ptrdiff_t
Ambiguous call to overloaded function - log vs. ptrdiff_t
我收到了一个代码行,如下所示 entr -= normed_eigval * log(normed_eigval) / log(dim);
虽然normed_eigval
源于complexArray*
,但我知道dim
属于ptrdiff_t
型。当我尝试使用 MATLAB 和 Visual Studio 10 的 MEX 接口作为编译器编译代码时,我收到一个错误:
C2668: ambiguous call to overloaded function
告诉我log
可以是long double
,float
,也可以是double
。
我使用的是 64 位 Windows 机器。我可以使用类型转换来解决此问题吗?如果是,我应该选择哪种类型?我认为如果要将 64 位 Windows 下size_t
或ptrdiff_t
转换为标准整数类型,可能会出现一些问题......
选择同意normed_eigval
的任何一个,因为这决定了您正在使用的数字精度。您将ptrdiff_t
整数转换为浮点值,然后取其对数。
如果你需要它走得更快,你可能可以预先计算对数的倒数。
相关文章:
- EvtExportLogneneneba API正在将远程计算机的事件日志保存到远程PC本身.如何将其保存到主机
- 是否可以配置提升日志刷新?
- 跟踪日志中的T.11803()是什么意思?
- 加快在C++中读取/处理日志文件的速度
- 如何将消息时间戳写入日志文件?
- 分析包含 NMEA 句子的日志文件C++
- 如何修复输出日志中的"EnableInput can only be specified on a Pawn for its Controller"错误
- 如何实现具有多个平台__FILE__和__LINE__信息的 C/C++ 可变参数日志记录宏?
- Log4net,将日志消息从 c++ dll 发送到 c# 应用程序?
- 返回ERROR_INVALID_PARAMETER的事件日志函数
- 为什么系统日志有两个不同的函数声明?
- 从更改日志获取最新的 USN 数据
- 如何从日志文件中抓取状态代码?(在 C++ 中)
- 未创建日志文件
- C++ 中混合二进制/文本日志记录的最佳做法
- 将日志宏转换为目标 C 字符串
- 轻松日志记录++如何避免多个初始化
- 尝试使用 EvtSetChannelConfigProperty() 函数更新最大事件日志文件大小时插入的错误值
- 输出 c++ 窗口 wstring 日志在终端中正确
- 查询事件日志.如何查询才能单独获取第一个和最后一个事件?