No Match For Operator+ ???????
My Class:
Code:
#include <iostream>
#include <string>
using namespace std;
class Integer
{
public:
Integer(int i);
Integer(std::string str);
int getValue();
void setValue(int i);
void add(Integer& i);
void subtract(Integer& i);
void multiply(Integer& i);
void divide(Integer& i);
private:
int myInteger;
};
My Implementation:
Code:
#include <iostream>
#include <string>
#include "integer.h"
Integer::Integer(int i)
{
myInteger = i;
}
Integer::Integer(std::string str)
{
myInteger = atoi( str.c_str() );
}
int Integer::getValue()
{
return myInteger;
}
void Integer::setValue(int i)
{
myInteger = i;
}
void Integer::add(Integer& i)
{
myInteger = myInteger + i;
}
void Integer::subtract(Integer& i)
{
myInteger = myInteger - i;
}
void Integer::multiply(Integer& i)
{
myInteger = myInteger * i;
}
void Integer::divide(Integer& i)
{
myInteger = myInteger / i;
}
Errors:
Code:
integer.cpp: In member function ‘void Integer::add(Integer&)’:
integer.cpp:31: error: no match for ‘operator+’ in ‘((Integer*)this)->Integer::myInteger + i’
integer.cpp: In member function ‘void Integer::subtract(Integer&)’:
integer.cpp:36: error: no match for ‘operator-’ in ‘((Integer*)this)->Integer::myInteger - i’
integer.cpp: In member function ‘void Integer::multiply(Integer&)’:
integer.cpp:41: error: no match for ‘operator*’ in ‘((Integer*)this)->Integer::myInteger * i’
integer.cpp: In member function ‘void Integer::divide(Integer&)’:
integer.cpp:46: error: no match for ‘operator/’ in ‘((Integer*)this)->Integer::myInteger / i’
make: *** [integer.o] Error 1
Why is this happening??? Why can't I freaking *ADD*?????