std::cout在c++结构体的vector声明和定义之后不起作用



为什么这个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/查看生成的代码,并理解为什么没有打印任何内容。

相关内容

  • 没有找到相关文章

最新更新