我正在使用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文件的开头有一个包含行。
答案 0 :(得分:0)
如果您将int
更改为double
,是否有效?复杂模板仅用于浮点类型(float
,double
,long double
)。我怀疑这是问题所在。
(This question对此主题有一些权威性的链接。)