У вас циклическая зависимость:
class apple
{
public :
operator orange () const { cout << "operator"; } //depends on orange
//shouldn't compile
} ;
class orange
{
public :
orange (apple &x ){cout <<"constructor";} //depends on apple
};
Я удивлен, что вы не получаете ошибок компилятора.В любом случае, вам нужно определить orange
, прежде чем определять apple
, и вам не нужен оператор orange
:
class apple;
class orange
{
public :
orange (apple &x ){cout <<"constructor";}
};
class apple
{
public :
};
Это должно работать.