컴파일러 오류 CS1750

형식으로의 표준 변환이 없으므로 형식의 값을 기본 매개 변수로 사용할 수 없습니다.

다음 샘플에서는 CS1750 오류가 발생합니다.

public struct S
{
    public override string ToString() { return "S::ToString"; }
}
public class A
{
    public static S Goo(S p = 42) { return p; }
}

int과 새로 선언된 구조체 S 사이에는 표준 변환이 없습니다. int 컴파일 시간 상수를 사용하여 구조체 S의 인스턴스를 초기화하면 CS1750이 발생합니다. 사용자 정의 변환 연산자(예: public static implicit operator S(int n) => ...)를 추가하면 표준 변환이 추가되지 않으므로 이 오류가 수정되지 않습니다.