형식으로의 표준 변환이 없으므로 형식의 값을 기본 매개 변수로 사용할 수 없습니다.
예
다음 샘플에서는 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) => ...)를 추가하면 표준 변환이 추가되지 않으므로 이 오류가 수정되지 않습니다.
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET