c++ - 使用clog计算复数的自然对数时,如何解决出现的歧义?

标签 c++ complex-numbers ambiguous clog

我有一个复杂的 double 组 eigenvalues,我想使用 clog 获得每个条目的自然对数。

for (int i = 0; i < n; ++i)
{
    qq[i] = clog(eigenvalues[i]);
}

我已经删除了 using namespace std; 但我仍然得到 error: reference to 'clog' is ambiguous

我如何明确表示我想使用 complex.h 而不是 iostreamclog

最佳答案

如果不使用 using namespace std,我无法使用 gcc 7.3 重现这一点,但通常来自 C 头文件的所有函数都驻留在全局命名空间中。因此,您应该能够通过在 clog 前加上 :::

前缀来解决歧义
for (int i = 0; i < n; ++i)
{
    qq[i] = ::clog(eigenvalues[i]);
}

关于c++ - 使用clog计算复数的自然对数时,如何解决出现的歧义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54972981/

相关文章:

mysql - 成语中多列别名的示例

python - 将 Python 复杂字符串输出(如 (-0-0j))转换为等效的复杂字符串

c++ - 复杂继承情况下的模糊函数调用

sql - SQL 中有 2 个不明确的列名的查询错误

c++ - 除了生成斐波那契数列之外,还有什么好的递归示例?

python - 如何在 Python 中格式化复数

C 中的 cacosf(复反余弦)函数返回不定值

c++ - void Test::printxy(void )' : cannot convert ' this' const 类中从 'const Test' 到 'Test &' 的指针

c++ - 为什么 vector 和 map 搜索比静态比较慢得多

c++ - std::async int 函数可以在任务完成之前退出吗?