[问题] struct array 存值错乱

楼主: kingfsg7326   2021-05-01 16:50:31
开发平台(Platform): (Ex: Win10, Linux, ...)
linux
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
g++
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question): 创立struct array后存值会错乱
喂入的资料(Input):
创立
struct value{ vector<int> variable};
接着在main中建立
struct value goat[ROW=3][COLUMN=5];
现在在循环中给ROW=0值
for(int i=0;i<5;i++)
for(int z=0;z<3;z++)
goat[0][i].variable.push_back(1);
接着又有循环写入ROW=1值
for(int i=0;i<5;i++)
for(int z=0;z<3;z++)
goat[1][i].variable.push_back(0);
接着假设让ROW=1每个项目的variable中的某个值手动改成3
ex: goat[1][2].variable[2]=3;
预期的正确结果(Expected Output):
如果印出来应该是ROW=0所有的值都是1
ROW=1 会有3与0(不会有1)
错误结果(Wrong Output):结果印出来后会发现ROW=0中的variable会出现3这个东西
程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档)
因为需要在工作站上输入档案 较为复杂故先不贴code(感谢体谅)
补充说明(Supplement):
不知道是不是c++环境错乱了?
还是我语法上有什么不对吗
跪求大神协助
作者: nh60211as   2021-05-01 17:43:00
我试过没问题,我猜是你印的方法有问题https://i.imgur.com/w2vOOI3.png
作者: LPH66 (-6.2598534e+18f)   2021-05-01 18:34:00
我会想猜 = 3 那边的程式码因为未知原因设去 [0] 去了
作者: Lipraxde (Lipraxde)   2021-05-01 23:04:00
这种的不知道 AddressSanitizer 抓不抓的出来耶

Links booklink

Contact Us: admin [ a t ] ucptt.com