为什么编译器向我抛出错误函数重载? 我在C++中工作,我正在努力寻找第一千零一素数。当我运行这段代码时,它在第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 } } } } #包括 使用名称空间std; int main(){ cout

为什么编译器向我抛出错误函数重载? 我在C++中工作,我正在努力寻找第一千零一素数。当我运行这段代码时,它在第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 } } } } #包括 使用名称空间std; int main(){ cout,c++,C++,在for循环之后看一看你的花括号: for (int count = 1; count < 100000; count ++) {} for(int count=1;count

在for循环之后看一看你的花括号:

 for (int count = 1; count < 100000; count ++) {}
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 :)
            } 
if(素数%i!=0){
用于(整数计数=1;计数<100000;计数++){
cout变量“count”的作用域仅在“for”循环中。该循环以行尾的“}”字符终止


您在cout行上引用的计数来自其他地方。我假设您在全局范围内的某个地方引入了两个“计数”的定义函数和编译器认为您想引用其中一个,但不知道该引用哪一个。

错误消息是什么?复制粘贴错误消息而不是对其进行解释。复制粘贴完整的错误消息到问题正文中,包括任何信息性注释。此循环的实际用途是什么:
for(int count=1;count<100000;count++){}
?错误消息是对重载函数的引用无法解析;您是否打算调用它?具体来说,它是
std::count
,来自
,由
使用命名空间std;
引入范围。不使用指令将意味着更好的错误消息。