我正在尝试使用协作线程添加2D数组。但我只得到了最后一个帖子的回答。我只有3个线程。我的代码是:
{12, 13, 14, 15}
现在我只得到54这是2D阵列的最后一个正确答案,即obj[i]= new job(i);
当我检查以下行时:
obj[i]= new job(0);
通过传递
之类的值obj[i] = new job(1);
或
obj[i] = new job(2);
在上述两种情况下,我都是零。但是当我输入时:
{{1}}
我 54。
有人请指导我代码中的问题是什么。
答案 0 :(得分:0)
您正在覆盖结果值,而不是在循环中添加它。
更改
res = result[j] + " ";
到
res = res + result[j] + " ";
你将获得所有结果。
答案 1 :(得分:0)
错误是您没有将其附加到现有字符串,而是替换它,因此只有最后一个值保留在最后。像这样改变,
for (int j = 0; j < 3; ++j)
res += result[j] + " ";