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

在我们写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 108.


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

#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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值