c++ vector<char> 问题

2025-01-24 06:36:31
推荐回答(5个)
回答1:

很清楚了
for(size_t j = 0 ; j < sizeof(a) ; j++)

----------------------------------------
不了解你的程序时是干嘛

while(a[5]=getchar()) // 这里越界了 ,只有a[0] 到 a[4]

既然是每次读取一个char,为啥要弄个数组呢

#include "stdafx.h"
#include
#include
#include
#include
using namespace std;
int main()
{
char a;
vector v;

while(a=getchar())
{
if(a=='0')
break;
v.push_back(a);
}
for(size_t j=0;j
{
cout<}

return 0;
}

回答2:

warning C4018: “<”: 有符号/无符号不匹配
指的是 for(int j=0;j

回答3:

你不懂看警告上写什么吗??

估计你在main函数尾加个return 0;就行了。。
=================================================
warning C4018: “<”的意思就是说,你的有符号数和无符号数不匹配,就是那个(unsigned--无符号),你是不是有定义了这样的无符号数啊?有的话把unsigned去掉,没有的话把unsigned加上,试试看。。

回答4:

应该是int main(),这个没返回值吧,+个return 0试一下.

还有size不是个函数吧,他是vector的成员函数.

#include "stdafx.h"
#include
#include
#include
#include
using namespace std;
int main()
{
char a[5];
vector v;
ifstream in("d:\\momo.txt");
string line;
while(a[5]=getchar())

{
if(a[5]=='0')
break;
v.push_back(a[5]);
}
for(int j=0;j
{
cout< }

return 0;
}

回答5:

#include
#include
#include
#include
using namespace std;
int main()
{
char a[5]; //数组没有正确初始化
vector v;
ifstream in("d:\\momo.txt");
string line;
while(a[5]=getchar()){
if(a[5]=='0')
break;
v.push_back(a[5]);
}
for(int j=0;jcout<}
return 0; // 加上这句
}