我试图找到复数双精度矢量的max元素(基于复数double的实部)。代码如下:
#include <iostream>
#include <algorithm>
#include <vector>
#include <complex>
using namespace std;
int main()
{
vector<complex<double> > rts;
for (int i = -1; i<5; i++)
rts.push_back(complex<double>(i,0));
complex<double> d;
d = std::max_element(rts.begin(), rts.end(), [](complex<double> const & lhs, complex<double> const & rhs) {return lhs.real() < rhs.real();});
return 0;
}
我收到错误
与'operator ='不匹配(操作数类型为'std :: complex'和'__gnu_cxx :: __ normal_iterator *,std :: vector&gt;&gt;')|
有谁可以帮我理解问题所在?
谢谢!
答案 0 :(得分:3)
函数"Eskuvo/" +ca.copyname + "/" + yourfilenamehere + ".jpg"
返回一个迭代器,你需要取消引用它:
String file = "/sdcard/Eskuvo/" + ca.copyname + "/" + count".jpg";
注意:如果在真实代码中使用它,您可能希望确保您的范围不是第一个空,否则您将取消引用无效的迭代器。