天天看點

DEVC++ 編譯時出現[Error] ld returned 1 exit status可能錯誤

DEVC++ 編譯時出現[Error] ld returned 1 exit status可能錯誤

DEVC++編譯時經常出現[Error] ld returned 1 exit status類似錯誤,除了可能的主函數名寫錯、已經運作了一個指令視窗外

還有可能是,函數聲明了,但是忘記了定義。本人是h檔案中聲明了BankAccount(),但是在cpp源檔案中忘記了定義BankAccount()的内容,錯誤找了很長時間。

#ifndef BANKACCOUNT_H
#define BANKACCOUNT_H

#include <iostream>
#include <string>

class BankAccount
{
	private:
		std::string name;
		std::string account;
		int number;
	public:
		BankAccount();
		BankAccount(std::string nam, std::string acco,int num);
		~BankAccount();
		void showbankaccount(const BankAccount &B);
		void depoist(BankAccount &B, int num);
		void withdraw(BankAccount &B, int num);
};

#endif
           
#include <iostream> 
#include "BankAccount.h"
//using namespace std;
BankAccount::BankAccount() ;
{
	name="no name";
	account="no account";
	number=0; 
}

BankAccount::BankAccount(std::string nam, std::string acco, int num)
{
	name=nam;
	account=acco;
	number=num;
}
void BankAccount::showbankaccount(const BankAccount &B)
{

	std::cout<<"Here is your account informaiton:\n";
	std::cout<<"Name: "<<B.name<<std::endl;
	std::cout<<"Account: "<<B.account<<std::endl;
	std::cout<<"Balance: "<<B.number<<std::endl; 
}
void BankAccount::depoist(BankAccount &B, int num)
{
	B.number+=num;
}

void BankAccount::withdraw(BankAccount &B, int num)
{
	if(num>B.number)
	{
		std::cout<<"You do not have so much money!"<<std::endl;
//		break;
	}
	else
	B.number-=num;
}
BankAccount::~BankAccount()			//析構函數未定義導緻編譯失敗,本題中,函數聲明了就要定義 
{
	std::cout<<"_________________"<<std::endl;
 } 
           
#include <iostream>
#include "BankAccount.h"
#include <string>

int main() 
{

	BankAccount bankact1("Jack", "ABC", 900);
	BankAccount bankact2;
	bankact1.showbankaccount(bankact1);
	bankact1.depoist(bankact1,200);
	bankact1.showbankaccount(bankact1);
	bankact1.withdraw(bankact1,1000);
	bankact1.showbankaccount(bankact1);
	bankact2.showbankaccount(bankact2);
	return 0;

}
           
c++

繼續閱讀