구조체 배열에 구조체 배열을 설정하려고합니다. 이 기능을 만들었습니다. 내가 그것을 어떻게 시도하는지 나는 그것을 할 수 없다. 내가이 프로그램을 실행할 때구조체 배열을 매개 변수로 함수로 전달합니다.
struct polygon {
struct point polygonVertexes[100];
};
struct polygon polygons[800];
int polygonCounter = 0;
int setPolygonQuardinates(struct point polygonVertexes[]) {
memcpy(polygons[polygonCounter].polygonVertexes, polygonVertexes,4);
}
int main(){
struct point polygonPoints[100] = {points[point1], points[point2], points[point3], points[point4]};
setPolygonQuardinates(polygonPoints);
drawpolygon();
}
void drawpolygon() {
for (int i = 0; polygons[i].polygonVertexes != NULL; i++) {
glBegin(GL_POLYGON);
for (int j= 0; polygons[i].polygonVertexes[j].x != NULL; j++) {
struct point pointToDraw = {polygons[i].polygonVertexes[j].x, polygons[i].polygonVertexes[j].y};
glVertex2i(pointToDraw.x, pointToDraw.y);
}
glEnd();
}
}
난 당신이 여기 strcpy
을 사용할 수 없습니다
Segmentation fault; core dumped; real time
"나는 그럴 수 없습니까?" – OldProgrammer
이 코드에 대한 특정 오류가 있습니까? – Gaurav
나쁜 영어로 유감스럽게 생각합니다. 내가 의미했던 것은 다각형 구조의 polygonVertexes 멤버로 polygonPoints 배열을 복사 할 수 없다는 것입니다. setPolygonQuardinates 함수가 실행 된 후 polygonVertexes 멤버에는 정크 값이 있습니다. –