为什么这个cout
在主函数中不打印任何东西?如果我在结构声明的向量之前添加cout
,那么它就可以正常工作。
#include <bits/stdc++.h>
using namespace std;
struct process
{
int id;
int at;
int bt;
};
int main()
{
int p = 3;
vector<process> dataframe;
dataframe[0].id = 1;
dataframe[0].at = 0;
dataframe[0].bt = 3;
dataframe[0].id = 2;
dataframe[0].at = 2;
dataframe[0].bt = 4;
dataframe[0].id = 3;
dataframe[0].at = 5;
dataframe[0].bt = 6;
cout << "TEsT jhij " << endl; //Why is this cout not working?
return 0;
}
创建一个向量,在堆栈上自动分配。然后,尝试通过访问越界索引来设置这个向量的元素。您可能会覆盖任何地方的任何内容。您可以尝试使用https://godbolt.org/查看生成的代码,并理解为什么没有打印任何内容。