gccの違い2

クラス定義中に、あるクラスのオブジェクトに対する参照を、引数もしくは返数で使用したい場合、クラスの名前だけを前もって宣言しておくことができました。g++-3で


class ostream;

class A {
public:
friend ostream& operator<<(ostream&, A&);
}


なんてことをやろうとすると、ostreamのところで怒られます。ポインターを使う場合はよさそうなのですが。。。。。