我正在使用c ++工作,我正在尝试找到第1001个素数。当我运行此代码时,它会在第14行抛出错误,表明函数已经过载。你能告诉我为什么它会给我带来错误吗?感谢。
#include <iostream>
using namespace std;
int main() {
cout << "Hi in this program I will tell you the 1001th prime number" << endl;
int number;
for (int i = 2; i < 1000000; i++) {
for (int prime = 2; prime < 1000000; prime ++) {
if (prime % i != 0) {
for (int count = 1; count < 100000; count ++) {}
cout << count << prime << " is a prime number" << endl;// this line has the problem
}
}
}
}
答案 0 :(得分:1)
在for循环之后看看你的花括号:
for (int count = 1; count < 100000; count ++) {}
在到达下一行之前,你正在关闭for循环块,在那里你引用'count'。因此,当您尝试打印时,count变量不在范围内。尝试将其更改为:
if (prime % i != 0) {
for (int count = 1; count < 100000; count ++) {
cout << count << prime << " is a prime number" << endl;
} // closing curly brace is here now :)
}
答案 1 :(得分:1)
&#34;计数&#34; 变量的范围仅限于&#34; for&#34;环。该循环终止于&#39;}&#39;行尾的字符。
您在cout线上引用的计数来自其他地方。我认为,在全球范围内的某个地方,您需要提取两个&#34; count&#34;函数和编译器认为你想引用其中一个,但不知道要采用哪一个。