它不会影响我的代码,但在更新我的visual studio之前,我从未见过这样的问题。我不知道那是否有联系,但我很困惑为什么会有问题。
#include <iostream>
#include <string>
#include <array>
using namespace std;
int main() {
const int SIZE = 3;
array<string, SIZE> names = { "S","A","W" };
array<string, SIZE>::iterator it;
cout << "names: \n";
for (it = names.begin(); it != names.end(); it++)
cout << *it << endl;
getchar();
return 0;
}
当visual studio更新时,他们为[[nodiscard]]
添加了getchar
属性。这告诉编译器在忽略函数的返回值时警告用户。你可以在这里找到更多信息:https://en.cppreference.com/w/cpp/language/attributes/nodiscard
在这种情况下,因为您只是为了阻止窗口关闭而使用getchar
,所以您不需要返回值,因此您可以忽略此警告。
我们可以通过明确忽略返回值来使警告静音:
(void)getchar(); //Explicitly ignore return value