如何修复此编译器错误
How do I fix this compiler error
在过去5个小时左右的时间里,我一直在研究这个问题。我已经做了研究,试图找出问题所在,但我无法理解遗漏了什么。如果有人能帮我解决这个小问题,我将感谢
这是代码
#include <iostream>
using namespace std;
bool isPrime (int num);
int main()
{
int num=0;
cout << "Enter a number and I'll tell you whether it is prime: ";
cin >> num;
if (isPrime(num)==true)
cout << num << " is prime.";
else
cout << num << " is NOT prime.";
return 0;
}
bool isPrime(int input)
{
if(input<1)
return false;
else if (input == 1||input ==2 ||input==3)
{
return true;
}
else
{
for(int i=2; i<input; i++)
{
if(input%i==0)
return false;
}
return true;
}
}
它给了我这个编译器错误
./main.cpp: In function ‘int main()’:
./main.cpp:31:6: error: redefinition of ‘int main()’
int main()
^
./main.cpp:10:5: error: ‘int main()’ previously defined here
int main() {
^
我不知道这意味着什么,但从我研究的地方来看,这意味着有两个干线,但我只有一个。
以下代码在windows上使用TurboC++编译良好,并根据需要给出适当的结果:
#include <iostream.h>
enum bool {true, false};
bool isPrime (int num);
int main()
{
int num=0;
cout << "Enter a number and I'll tell you whether it is prime: ";
cin >> num;
if (isPrime(num)==true)
cout << num << " is prime.";
else
cout << num << " is NOT prime.";
return 0;
}
bool isPrime(int input)
{
if(input<1) {
cout<<"Negatives not allowed"<<endl;
return false;
}
else if(input == 1) {
return false;
}
else if (input ==2 ||input==3) {
return true;
}
else {
for(int i=2; i<input; i++) {
if(input%i==0)
return false;
}
return true;
}
}
确保您没有包含任何其他定义main()的文件
如果你在visualstudio中工作,你应该检查解决方案资源管理器中是否有其他.cpp文件,尤其是如果你已经将其从旧的解决方案中移了过来,在那里你可能忘记了删除旧的引用。如果失败了,你可以将现有的代码复制并粘贴到一个新项目中,因为你所拥有的不应该产生你所得到的错误。
您是否在没有包含保护的情况下从多个其他文件中包含此文件?或者,您可能会在项目中忘记的另一个cpp文件中写入另一个main,在这种情况下,请确保您不会通过排除或创建一个全新的项目并单独添加所需的每个文件来构建该项目。
我发现,对于大多数IDE,甚至命令行编译,当你遇到非常奇怪的错误并且无法修复时,创建一个新项目可以解决其中的许多问题。
您的确切代码在我的编译器上运行得很好。因此,您的代码没有问题。这种问题总是发生在编译器身上。我认为您使用的是一个IDE,您在其中创建了一个项目并添加了另一个代码,该代码也具有main()
函数。因此,您可以通过从头开始创建一个新项目并复制粘贴此代码来轻松解决此问题。
相关文章:
- MSVC多行宏编译器错误
- 静态数据成员的问题-修复链接错误会导致编译器错误
- C++,我收到一个无法理解的编译器错误
- 如何解决gcc编译器优化导致的centos双编译器设置中的分段错误
- C++错误C2600:无法定义编译器生成的特殊成员函数(必须首先在类中声明)
- 我收到同义重复编译器错误。我应该如何修复"类型"X"的参数与类型"X"的参数不兼容?
- 重载方法的方式会在使用临时调用时生成编译器错误
- 尝试使用继承和模板实现CRTP.Visual Studio正在生成编译器错误
- 有没有办法让编译器在我放置字符串而不是 nlohmann::json 对象时抛出错误?
- 致命错误 C1001 :vs2017 15.8.4 的内部错误(编译器文件"msc1.cpp",第
- C++2440错误-编译器认为字符串是常量字符
- Clang 错误 – 编译器错误或缺少一些细节?
- 视觉C++ 2017 错误?编译器优化表达式
- 配置:错误:C++编译器无法创建可执行文件
- PHP PDO_ODBC配置:错误:C 编译器无法创建可执行文件
- 致命错误 C1001:内部编译器错误(编译器文件"MSC1.cpp",第 1794 行)
- 错误:编译器限制达到简单hello world程序的堆限制
- c++链接错误:编译器找不到函数的定义
- 生成 CImg 时出现致命错误(编译器限制)
- 抛出对齐类型时出现 Clang 运行时错误.编译器错误