다음 코드에서 세그먼트 화 오류가 발생하는 이유는 무엇입니까? 나는 정적 배열을 사용하는 경우 Cell
에서 당신 new
3 Cell
의의 생성자의 생성자는 3 개 Cell
를 호출하는 '경우구조체의 생성자에 배열 할당
struct Cell
{
cellMode mode;
bool visited;
//bool scanned;
int rowIndex;
int colIndex;
Cell *neighbours;//if using Cell neighbours[3] i am getting a compilation error
Cell()
{
neighbours = new Cell[3];//seg fault here
}
};
, 나는 다음과 같은 오류를
neighbours has incomplete type
"셀"이 할당 될 때마다 해당 생성자가 호출됩니다. 즉, 첫 번째 생성자는 세 번 더 할당 할 때마다 종료되지 않습니다. –
그냥 이웃을 Cell에 대한 포인터로 만들고 생성자 외부의 함수로 "new"로 생성하거나 필요할 때마다 하나씩 생성하십시오. –