1

를 돌려 부문에 과부하하기 arguements 중 하나가 포함 된 클래스 여야합니다. 나는 테스트 프로그램에서 main() 밖에서 선언하면 잘 작동한다는 것을 알았지 만 클래스 파일에 .cs 파일을 전달할 수 있도록 모든 것을 포함하고 싶습니다. 이 작업을 수행하는 올바른 방법은 무엇입니까?는 어디에서 사용자 정의 클래스 C# 연산자/(INT, INT) 나는이 작업을 수행하기 위해 노력하고있어

필자는

Class Rational 
{ 
    .... 
} 
public static Rational operator/(...) 
{ 
    ... 
} 

컴파일러는 인터페이스, 위임, ... ㅋ ㅋ ㅋ ㅋ 인텔리 키워드를 기대하고 있기 때문 작동하지 않습니다를 시도했다.

도움 주셔서 감사합니다.

+0

@mikez 의견을 보내 주셔서 감사합니다. 답변을 수락해야합니다. – Andros

+0

알았어, 내 의견을 삭제하고 대답했다. –

답변

3

그렇게 할 방법이 없습니다. 2 진 연산자 오버로드의 요구 사항은 연산자를 선언 한 유형의 피연산자 중 하나가 필요하다는 것입니다. 다른 유형의 연산자는 선언 할 수 없습니다. 선언하려는 연산자는 이미 나누기 연산자가있는 생각할 때 실제로는 int입니다.

¶ 7.3.2

는 :

사용자 정의 연산자 선언은 항상 운영자 선언을 포함하는 클래스 또는 구조체 형식이어야하는 매개 변수 중 하나 이상을 필요로한다. 따라서 사용자 정의 연산자가 미리 정의 된 연산자와 동일한 서명을 가질 수 없습니다.

관련 문제