class apple
{
public :
operator orange() const { cout << "operator"; }
} ;
class orange
{
public :
orange (apple &x){cout <<"constructor";}
};
void f(orange o)
{
cout <<"function can accept only oranges ";
}
int main()
{
apple a;
f(a);
}
출력 : 컴파일러 오류생성자를 호출 할 때 때 연산자 함수
왜이 코드는 g ++ 컴파일러에서 컴파일러 오류를 제공합니까? 함수 f가 호출 될 때 오렌지 생성자가 호출되지 않는 이유는 무엇입니까?
질문에 오류 메시지를 추가하십시오. –
operator +, operator-, operator = 및 많은 다른 연산자를 사용할 수 있지만 "operator orange"는 사용할 수 없습니다. – Imp
@ 할 수 있는지 확인하십시오. –