C/C++:[Error] ld returned 1 exit status 解决方案合集

  • Post author:
  • Post category:其他


在我们写C/C++代码时,有时会出现——

[Error] ld returned 1 exit status

这样的报错,但却没有显示报错地址(即在哪一行报错)。所以我根据我的经历将这种报错的几种情况进行了简单的总结。

(使用工具:



Dev-C++

\texttt{Dev-C++}







Dev-C++






||语言:



C++14

\texttt{C++14}







C++14









总结:

1.程序没有主函数。

2.



scanf/printf

\text{scanf/printf}







scanf/printf






书写错误

3.引用自定义函数时名称书写错误。

4.上一个运行结果未关闭。

5.数组范围过大。

6.自定义函数中的变量未赋值,并且调用时直接对此变量进行操作。




情况一:程序没有主函数

#include<iostream>
using namespace std;
int mian(){
	return 0;
}

你压根没有写主函数/主函数名字写错时出现。




情况二:



scanf/printf

\text{scanf/printf}







scanf/printf






书写错误

#include<iostream>
using namespace std;
int main(){
	prinf("实例");
	return 0;
}

仅出现在代码较多的情况下,否则会直接标出报错位置。




情况三:引用自定义函数时名称书写错误。

#include<iostream>
using namespace std;
void error(){
	cout<<"Error."<<endl;
}
int main(){
	eror();
	return 0;
}

同上,仅出现在代码较多的情况下,否则会直接标出报错位置。




情况四:上一个运行结果未关闭。

略。

即上一次程序运行窗口未关闭就再次运行程序。

没啥好说的,关了就可以。




情况五:数组范围过大。

#include<iostream>
using namespace std;
int array[1145141919810];
int main(){
	return 0;
} 

调小点吧,尽量小于



1

0

8

10^8






1



0










8












.




情况六:自定义函数中的变量未赋值,并且调用时直接对此变量进行操作。

#include<iostream>
using namespace std;
int error(int n){
	int ans;
	while(n--){
		ans++;
	}
	return ans;
}
int main(){
	int n;
	cin>>n;
	cout<<error(n)<<endl;
	return 0;
}

需要将变量赋初值,例:



int ans=0

\text{int ans=0}







int ans=0






.


都看到这里了,求一波三连



QwQ

\text{QwQ}







QwQ







版权声明:本文为apple_66764880原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。