30/09/2018, 16:33

lỗi C2146 và lỗi C2065

Chào mọi người, tình hình là em có viết 1 cái code như sau:

    //Account.h
    
    #include<iostream>
    class Account{
     private:
    	float _income;	
    	float _expense;
    	void balance();
     public:
    	 Account();
    	 Account(int, int);
    	 void display()const;
    	 Account& operator+=(const Account& f);
    	 friend bool operator==(const Account&, const Account&);
    };
     
    Account operator+(const Account&, const Account&);
    
    
    
    -----------------------------------------------------
    //Account.cpp
    #include<iostream>
    #include "Account.h"
    using namespace std;
    
    
    //Constructor
    Account::Account(){
    	_income=0;
    	_expense=0;
    }
    
    
    //Overload constructor
    Account::Account(int income, int expense){
    	_income=income;
    	_expense=expense;
    }
    
    //Function balance
    void Account::balance(){
    	if(_income >_expense){
    		_income=_income-_expense;
    		_expense=0;
    	}
    	else{
    		_expense=_expense-_income;
    		_income=0;
    	}
    
    }
    //Display income and expense
    void Account::display()const {
    	cout<<_income;
    	cout<<_expense;
    }
    
    //compound assignment operator with +=
    Account& Account::operator+=(const Account& f){
    	_income += f._income;
    	_expense += f._expense;
    	balance();
    	return *this;
    }
    
    
    //helper function, Account operator
     Account operator+(const Account& a, const Account& b){
    	Account temp = a;
        temp += b;  
    	 return temp;
     }	
 //using keyword friendship
 //Function bool operator
 bool operator==(const Account& acc, const Account& bcc){
	 if((acc._income == bcc._income) && (acc._expense==bcc._expense)){
		 return true;
	 }
	 else{
		 return false;
     }
 }

tình hình là em có gặp 1 lỗi: Error 4 error C2146: syntax error : missing ‘;’ before identifier ‘result’
và lỗi Error 3 error C2065: ’ return’ : undeclared identifier

mọi người có thể cho em hỏi lỗi này là lỗi gì không và làm sao để sửa lỗi này. Em tìm hiểu trên mạng qua nhưng không tìm được giải pháp.
Cám ơn mọi người

Nguyễn Minh Dũng viết 18:41 ngày 30/09/2018

Đối với các lỗi này thì tìm quanh chỗ result xem thử có lỗi cú pháp nào không

Error 4 error C2146: syntax error : missing ‘;’ before identifier ‘result’
Error 3 error C2065: ’ return’ : undeclared identifier

Code mà @butobino15 đưa lên hình như không đủ, vì Đạt search không thấy chữ ressult

Nhật Tình Nè viết 18:33 ngày 30/09/2018

dạ cái result nó nằm trong phần Account.cpp phần //helper function, Account operator đó anh. Em không biết nó bị lỗi gì kì lắm. Khi em chạy nó bằng phần mềm khác thì nó chạy đc. Còn VS 12 thì không được

Nguyễn Minh Dũng viết 18:40 ngày 30/09/2018

dạ cái result nó nằm trong phần Account.cpp phần //helper function

Anh copy ra này, có thấy result đâu @butobino15

     //helper function, Account operator
     Account operator+(const Account& a, const Account& b){
    	Account temp = a;
        temp += b;  
    	 return temp;
     }	

Khi em chạy nó bằng phần mềm khác thì nó chạy đc. Còn VS 12 thì không được

Oh, nếu vậy thì có lẽ là lỗi thư viện rồi. Em config thư viện thế nào mà VS không tìm thấy chăng?

Nhật Tình Nè viết 18:45 ngày 30/09/2018

dạ em cũng không biết sao nữa, em làm như bình thường mà ko hiểu sao nó bị lỗi, chắc tại vì bữa đó em xui ^^

Nguyễn Minh Dũng viết 18:49 ngày 30/09/2018

chắc tại vì bữa đó em xui ^^

Xui xóa trúng chỗ nào à Mới học lập trình nhiều trường hợp thế này lắm.

Nhật Tình Nè viết 18:43 ngày 30/09/2018

em nghĩ chắc vậy cám ơn anh giúp đỡ

Nguyễn Minh Dũng viết 18:47 ngày 30/09/2018

I moved a post to a new topic: Cần tìm video hướng dẫn friend và operator trong C++

Bài liên quan
0