내 프로그램에 2 개의 클래스가 있습니다. A 클래스와 B 클래스라고 부릅니다.다른 클래스의 인스턴스가있는 클래스, 기본 생성자가 필요한 Visual Studio
이러한 클래스 각각에 대해 생성자를 작성 했으므로 기본 생성자를 갖고 싶지 않습니다.
클래스 B는 클래스 B의 멤버 변수 중 하나로서 클래스 A의 인스턴스를 갖습니다.
Visual Studio는 {클래스 B 구현 파일 아래에 구불 구불 모양의 빨간색 선이 있습니다. 마우스를 올려 놓으면 Visual Studio에서 클래스 A에 기본 생성자가 없다는 불만을 표시합니다.
여기에 기본 생성자를 만들어야합니까?
편집 : 내가 주에서 개체를 만들 :
행렬은 동적으로 할당 된 2 차원 배열 (이 할당 된 모두 포인터에 대한 포인터입니다)입니다.
Board::Board(char ** array, int rows1, int columns1)
//I initialize the elements of the array here.
다음, 나는이 생성자로 생성 된 개체를 전달할 : 여기
Board newBoard(matrix, rows, columns);
생성자입니다
Joe::Joe(Board theBoard, int x, int y)
//Note that these x and y positions are basically positions of the player on the
//board. They are not the rows and the columns of the array that we previously
//created.
컴파일을 시도 했습니까? – Arash
정확한 문제를 표시하려면 [mcve]를 만드십시오. 그러나 멤버가 포인터 또는 참조 유형이 아닌 경우 클래스는 기본 생성자를 사용하여 객체를 만들려고합니다 ( – UnholySheep
) 클래스에는 기본 생성자가있을 필요는 없지만 기본값이 아닌 생성자 중 하나를 사용하여 초기화해야합니다 생성자. –