我有一个复杂的双精度数组eigenvalues,我想通过使用clog获得每个条目的自然对数。
for (int i = 0; i < n; ++i) { qq[i] = clog(eigenvalues[i]); }
我已经删除了using namespace std;,但仍在获取error: reference to 'clog' is ambiguous。
如何明确我要使用clog中的complex.h而不是iostream中的?
最佳答案
没有gcc 7.3,我不能在没有using namespace std的情况下重现它,但是通常C头中的所有函数都驻留在全局名称空间中。因此,您应该能够通过在前面加上前缀clog来解决歧义:
for (int i = 0; i < n; ++i) { qq[i] = ::clog(eigenvalues[i]); }
关于c++ - 使用Clog计算具有复数的自然对数时,如何解决出现的歧义?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54972981/