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.