Search code examples
c++functionclassfriend

C++ Friend Functions in separate header and .cpp files


//A.h
class A{
friend bool compareEntry_sumPct_nonMega(Entry arg1, Entry arg2);
}

//A.cpp
#include "A.h"
bool A::compareEntry_sumPct_nonMega(Entry arg1, Entry arg2)
{
    bool b = arg1.sumOfNonMegaEntryPct(numbers) < arg2.sumOfNonMegaEntryPct(numbers);
    return b;
}

I get the error compareEntry_sum_Pct_nonMega is not a member of A.


Solution

  • //A.h
    class A{
    friend bool compareEntry_sumPct_nonMega(A& obj, Entry arg1, Entry arg2); <-- CHANGE done here
    }
    
    //A.cpp
    #include "A.h"
    bool compareEntry_sumPct_nonMega(A& obj, Entry arg1, Entry arg2) <-- CHANGE done here
    {
        // Using 'obj', all members (private as well) of class A can be accessed <-- CHANGE done here
        bool b = arg1.sumOfNonMegaEntryPct(numbers) < arg2.sumOfNonMegaEntryPct(numbers);
        return b;
    }