C++ vector size 新手不知道这个编译错误为什么

#include<iostream>#include<vector>usingnamespacestd;classSolution{public:vector<int>t... #include<iostream>
#include <vector>
using namespace std;

class Solution {
public:
vector<int> twoSum(vector<int> &numbers, int target) {
vector<int> result;
vector<int>::size_type i, j;
int find = 0;
cout << numbers.size; //这里会报错
错误 1 error C3867: “std::vector<int,std::allocator<_Ty>>::size”: 函数调用缺少参数列表;请使用“&std::vector<int,std::allocator<_Ty>>::size”创建指向成员的指针
for (i = 0; i < numbers.size; i++)
{
for (j = i+1; j < numbers.size;j++)
if (numbers[i] + numbers[j] == target)
{
find = 1;
result.push_back[i];
result.push_back[j];
break;
}
if (find)
break;
}

return result;

}
};

int main()
{
vector<int> numbers;
int number;
while (cin >> number)
{
numbers.push_back(number);
}

cout << "Input the target" << endl;
int target;
cin >> target;
Solution s;
vector<int>result;
result = s.twoSum(numbers, target);
for (int i = 0; i < result.size; i++)
{
cout << result[i]<<endl;
}

}
展开
 我来答
silmerusse
推荐于2017-11-26 · TA获得超过6640个赞
知道大有可为答主
回答量:2919
采纳率:33%
帮助的人:2100万
展开全部

要访问容器里的元素要用迭代器

for (vector<int>::iterator i = result.begin(); i != result.end(); ++i) {
  cout << *i <<endl;
}


如果你的编译器支持c++11标准,就更简单:

for (auto e : result) {
  cout << e <<endl;
}
追问
嗯,谢谢。。
匿名用户
2017-08-17
展开全部
class Window_mgr
{
public:
typedef vector<Screen>::size_type ScreenIndex;
Window_mgr();
void clear(ScreenIndex);
ScreenIndex addscreen(const Screen &);
~Window_mgr();
private:
vector<Screen> screens{Screen(10,20)};
};
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式