Linguaggio: C++
Compilatore: Visual C++ 6

Ho creato una mia classe "Expr" che fa l'overloading dell'operatore << (crea un inseritore)
Il codice della classe (parziale) è questo:
codice:
class Expr
{
//...
public:
	// Costruttore senza parametri
	Expr();
//...
	friend ostream &operator<<(ostream& stream, Expr expression);
};

// Overloading dell'operatore <<
// Inseritore
ostream &operator<<(ostream &stream, Expr expression)
{
	stream << "CIAOOO" << endl;
	return stream;
}
main.cpp :
codice:
#include <iostream>
#include "Expr.h"

using namespace std;

int main()
{
	cout << Expr();
	return 0;
}
L'errore che mi dà il compilatore è:
Compiling...
main.cpp
C:\Documents and Settings\Andrea\Desktop\Programmazione\C-C++\Progetti\ExprClass\main.cpp(14) : error C2593: 'operator <<' is ambiguous
Error executing cl.exe.

ExprClass.exe - 1 error(s), 0 warning(s)

Ormai le ho provate tutte, non so più dove sbattere la testa

Help!