Hello everyone, Im writing a fraction program that will do some nifty stuff. To cut to the chase, here are my 3 files but Im having trouble compiling the test function, i keep getting a "no match for 'operator+'" error. Thanks for all and any help!

fraction.h

Code:#ifndef Fraction #define Fraction class mixedfraction { public: mixedfraction(); void read(); void display(); double evaluate(); mixedfraction add (mixedfraction, mixedfraction); mixedfraction sub (mixedfraction); mixedfraction mul (mixedfraction); mixedfraction div (mixedfraction); int whole; int numerator; int denominator; }; #endif

fraction.cpp

Code:#include <iostream> #include <cmath> #include "mixedfraction.h" using namespace std; mixedfraction::mixedfraction() { whole=0; numerator=0; denominator=1; } void mixedfraction::read() { cout << "Please enter whole number: " <<endl; cin >> whole; cout << "Please enter numerator: " <<endl; cin >> numerator; cout << "Please enter denominator: " <<endl; cin >> denominator; } void mixedfraction::display() { cout << whole << numerator <<"/" << denominator << endl; } double mixedfraction::evaluate() { double temp; temp = (double) whole + (double) numerator / (double) denominator; return temp; } mixedfraction add (mixedfraction f1, mixedfraction f2) { mixedfraction sum; sum.numerator = f1.numerator*f2.denominator + f2.numerator*f1.denominator; sum.denominator = f1.denominator*f2.denominator; return sum; }

test.cpp

Code:#include <iostream> #include <cmath> #include "mixedfraction.h" using namespace std; int main() { mixedfraction x,y,z; double i; x.read(); x.display(); i = x.evaluate(); cout << i << endl; y.read(); y.display(); z= x+y; cout << "The sum of "; x.display(); cout << "and"; y.display(); cout << "is"; z.display(); }