一个函数返回值为vector类型的问题

hxwangcong hxwangcong 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我的代码这样写:

#include "iostream"
#include "vector"
using namespace std;

vector<int> plus(vector<int> &v1,vector<int> &v2)
{
int lenth=v1.size()>v2.size()?v1.size():v2.size();
vector<int> v(lenth+1);
for(int i=0;i<lenth;i++)
{
v[i]=v1[i]+v2[i];
if(v[i]>=10)
{
v[i+1]++;
v[i]-=10;
}
}
if(v[lenth]==0)
{
vector<int>::iterator it=v.end()-1;
v.erase(it);
}
return v;
}

int main()
{
vector<int> v1;
vector<int> v2;
v1.push_back(3);
v1.push_back(5);
v1.push_back(8);
v2.push_back(9);
v2.push_back(9);
v2.push_back(9);
vector<int> v3;
v3=plus(v1,v2);
for(int i=0;i<v3.size();i++)
{
cout<<v3[i];
}
//system("pause");
return 0;
}



VC++里编译通过,但DEV-CPP里编不过去,错误信息:
In function `int main()':
1.cpp non-lvalue in unary `&'
no match for call to `(std::plus<_Tp>) (std::vector<int, std::allocator<int> >&, std::vector<int, std::allocator<int> >&)'
note d:\DEV-CPP\include\c++\3.4.2\bits\stl_function.h:138 candidates are: _Tp std::plus<_Tp>::operator()(const _Tp&, const _Tp&) const
...全文
评论 3
收藏 已收藏
分享
返回顶部
hxwangcong
新手乐园 33,315 成员 41,769 内容