Hey,
I have this class:
Code:
class Integer
{
private:
int integer;
public:
Integer(int nr = 0)
: integer(nr){
}
Integer operator +(const Integer& i);
Integer operator -(const Integer& i);
Integer operator *(const Integer& i);
Integer operator /(const Integer& i);
Integer operator +(const int i);
Integer operator -(const int i);
Integer operator *(const int i);
Integer operator /(const int i);
friend Integer operator +(int d, const Integer& i)
{
return Integer(d + i.integer);
}
friend Integer operator-(int d, const Integer& i)
{
return Integer(d + i.integer);
}
friend Integer operator *(int d, const Integer& i)
{
return Integer(d * i.integer);
}
friend Integer operator /(int d, const Integer& i)
{
return Integer(d / i.integer);
}
string print();
void check();
};
When I run it I get this error:
C:\Documents and Settings\Shady\Mijn documenten\Study\CInteger\Integer.cpp(32) : fatal error C1001: INTERNAL COMPILER ERROR
(compiler file 'msc1.cpp', line 1786)
Please choose the Technical Support command on the Visual C++
Help menu, or open the Technical Support help file for more information
Error executing cl.exe.
When I delete the overloaded 'Minus' operator, it works just fine. Is this a bug, or is there an error in my code ?
I'm using VC6
Thanks in advance
PS: print() and check() implementations are later in the code.