컴파일러 오류 CS1729

업데이트: 2007년 11월

오류 메시지

'type'에 인수를 'number'개 사용하는 생성자가 없습니다.
'type' does not contain a constructor that takes 'number' arguments.

이 오류는 클래스의 생성자를 직접 또는 간접적으로 호출하지만 컴파일러가 동일한 수의 매개 변수를 포함하는 생성자를 찾을 수 없는 경우 발생합니다. 다음 예제에서는 test 클래스에 인수를 사용하는 생성자가 없습니다. 따라서 이 클래스에는 인수를 전혀 사용하지 않는 기본 생성자만 있습니다. 파생 클래스에서 자체 생성자를 선언하지 않으면 두 번째 줄에서 오류가 발생하므로 컴파일러가 기본 생성자를 제공합니다. 해당 생성자는 기본 클래스에서 매개 변수 없는 생성자를 호출합니다. 기본 클래스에 이러한 생성자가 없으므로 CS1729 오류가 발생합니다.

이 오류를 해결하려면

  1. 생성자에 대한 호출에서 매개 변수의 수를 조정합니다.

  2. 클래스를 수정하여 호출할 매개 변수와 함께 생성자를 제공합니다.

  3. 기본 클래스에 매개 변수 없는 생성자를 제공합니다.

예제

다음 예제에서는 CS1729 오류가 발생하는 경우를 보여 줍니다.

// cs1729.cs
class Test
{
    static int Main()
    {
        Test test = new Test(2); //CS1729
        return 1;
    }
}
public class Parent
{
    public Parent(int i) { }
}
public class Child : Parent { } // CS1729

선택적 주석