【问题标题】:error: template<class _Tp> std::complex<_Tp> std::polar(const _Tp&, const _Tp&错误:模板<class _Tp> std::complex<_Tp> std::polar(const _Tp&, const _Tp&
【发布时间】:2014-06-22 19:24:36
【问题描述】:

我正在使用 C++11 上的 eclipse (kepler),并且需要对复数 (std::complex) 使用 pow,但我得到以下信息

错误:模板 std::complex<_tp> std::polar(const _Tp&, const _Tp&)

int Group::getActivity() const{
    complex<int> c(this->getNum1(), this->getNum2());
    c = pow(c, 3); //<--problem here
    return abs(c);
}

代码本身在这个函数中没有错误,但我得到了一个关于它的整体错误(这是整个代码中唯一使用复杂的,我必须使用它)

为了清楚起见,我使用的是std::complex,并且在 cpp 文件的开头有一个包含行。

【问题讨论】:

  • 这是什么意思 - 代码本身在这个函数中没有错误,但我得到一个整体错误?代码是否编译,但您在 Eclipse 的静态代码分析器中看到该行下方的红线?如果是后者,请尝试使用 Google 搜索 eclipse 代码分析器 c++11eclipse codan c++11。 StackOverflow 上也有几个问题问这个问题。如果这确实是问题所在,您甚至可以考虑忽略红线。
  • 这意味着项目已经构建并且没有任何红线但是我在错误窗口中得到一个错误(以及大约5个信息)
  • 如果编译成功,那么一定是代码分析器显示了这些错误信息。试试我之前评论中的建议。
  • "...关于它的 5 条信息"?但是你只发布了一个?其余的“信息”可能会详细说明您选择在此处发布的行。也发布那些
  • 我只发布了错误,而不是信息。他们只是错误的破裂,并没有真正说什么,诸如“从这里重新获得”之类的东西,都指向同一行

标签: c++ eclipse c++11 complex-numbers


【解决方案1】:

如果将int 更改为double 是否有效?复杂模板仅用于浮点类型(floatdoublelong double)。我会怀疑这是问题所在。

This question 有一些关于该主题的权威链接。)

【讨论】:

    猜你喜欢
    • 2017-07-15
    • 2019-11-11
    • 1970-01-01
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    • 2021-05-10
    • 2013-03-24
    • 1970-01-01
    相关资源
    最近更新 更多