int none[5];
int ntwo[5];
// the following is in a switch statement...
if (answer == userAnswer)
{
printf("Correct!\n");
score = prevScore + 1;
prevScore = score;
}
else
{
printf("Incorrect. The correct answer was %d\n\n", answer);
none[i] = number1;
ntwo[i] = number2;
}
}
break;
// ... Switch statement ends
它给了我一个错误,说“变量警告”没有“设置但未使用”。我显然使用了它。我不知道为什么会发生这个错误。FYI你看到的所有其他变量都被声明了。我只是去掉了小恶魔的部分,在那里数组出现。
4条答案
按热度按时间0tdrvxhp1#
none
在以下代码段中出现了两次:然后:
例如,如果你后来有:
或
或者类似的东西,我们会说
none
是“used”,但是代码是:"none" set but not used
;完全符合编译器的说法。在pastebin link中,我看到了您的问题:
你写了这个:
你想写这个:
现在
none
正在使用,您的打印正在做一些有用的事情...4xrmg8kj2#
使用变量不同于初始化它。
这里你给none变量设置了一个值,但是你的编译器会告诉你它是未使用的,因为你从来没有用比较运算符测试过它,或者你从来没有把它传递给一个函数。
xxe27gdn3#
如果其他答案不起作用:检查支架平衡。
在第一个错误上失败通常对生产力和注意力都很好。但有时它会咬你。下面是我自己的代码,有错误,我花了一段时间才找到。
为了让你更容易找到我把评论:“ERROR_IS_ON_LINE_BELOW_EXTRA_CURLY_BRACKET”位于有问题的行的正上方。
这段代码并不是最小的示例,而是我遇到问题时正在处理的整个文件。我认为,向我展示这个问题实际上是什么样子比设计一些东西更有益。
zyfwsgd64#
最后一次使用它是在代码中:
那就什么都不用做这个变量的作用是什么?你也可以把它完全移到任何地方。尝试完全删除它,因为它是无用的-最后一行代码是毫无意义的,因为none[i]永远不会再次使用。我有一种感觉,你是遗漏了一些代码,使它明显的情况下,因为你的评论说,你遗漏了一个imp的一部分,无论imp的意思。