Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么这段代码不能将字符推回向量<;char>;?_C++_Vector_Char - Fatal编程技术网

C++ 为什么这段代码不能将字符推回向量<;char>;?

C++ 为什么这段代码不能将字符推回向量<;char>;?,c++,vector,char,C++,Vector,Char,我想把一个字符压回一个向量并打印出来,但我不知道为什么它没有被打印出来 我不明白该怎么办,因为程序正在编译并返回0 #包括 #包括 使用名称空间std; int main(){ 载体A(4); char d='s'; A.推回(d); //对于(int i=0;i您打印A[0]值,但“s”作为[4]值被推回 通过使用调试器,您可以看到 用这种方法定义向量,你的问题就会得到解决 vector <char> A; 向量A; 实现的问题在于 载体A(4) 及 A.推回(d) 台词 当您

我想把一个字符压回一个向量并打印出来,但我不知道为什么它没有被打印出来

我不明白该怎么办,因为程序正在编译并返回0

#包括
#包括
使用名称空间std;
int main(){
载体A(4);
char d='s';
A.推回(d);

//对于(int i=0;i您打印A[0]值,但“s”作为[4]值被推回

通过使用调试器,您可以看到

用这种方法定义向量,你的问题就会得到解决

vector <char> A; 
向量A;

实现的问题在于

载体A(4)

A.推回(d)

台词

当您构造一个默认大小为4的向量时,这意味着[0]到[3]索引已经分配了。 接下来,当您执行push_back()时,您将在下一个可能的索引中推送元素,在您的示例中是4

因此,A.push_back(d);->它所做的只是分配一个[4],然后分配一个[4]=“s”


只需打印一个[4],您就可以看到它。

“为什么这段代码不能将字符推回向量?”是什么让你认为它不起作用?你打算观察的结果是什么?我认为OP的问题是他看不到
cout
的预期输出。这可能是因为应用程序正在立即结束。如果你在windows下运行它,试着通过命令提示符窗口执行程序,你将能够使用它e你的输出。@Dean Seo我试着打印了,但没有打印,我得到了下面的答案。你接受了答案。这就是一个人为他们解决问题的方式。不需要做任何其他事情。
vector <char> A;