我创建了一个简单的结构对象,它包含2个值 - 数字(特定数字)和计数(计数出现次数的计数器).
typedef struct matrixMissNumber {
int number;
int count = 0;
}
Run Code Online (Sandbox Code Playgroud)
然后我创建了一个名为missingNumsObjects的列表来保存这些对象.missNums是一个单独保存整数的单独列表.
list<matrixMissNumber> missingNumsObjects;
for (auto m : missNums)
{
matrixMissNumber mn;
mn.number = m;
missingNumsObjects.push_back(mn);
}
Run Code Online (Sandbox Code Playgroud)
然后我有3个for循环通过并检查2个条件.如果满足这些条件,则将计数增加1.(我为测试目的添加了一个cout语句).我调试了程序,一切都很完美,直到循环结束.那时,missingNumsObjects中每个matrixMissNumber对象的count变量重置为0.我不确定是否存在操作不同内存地址的问题,或者列出了问题的指针.
for (auto m : missingNumsObjects)
{
for (int x = 0; x < 3; x++)
{
for (int y = 0; y < 3; y++)
{ …Run Code Online (Sandbox Code Playgroud)