我想在結構數組中設置結構數組。爲此我創建了一個函數。我怎麼試試它,我無法做到這一點。將結構數組作爲參數傳遞給函數
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();
}
}
當我運行此我得到以下錯誤
Segmentation fault; core dumped; real time
「我無法做到這一點是什麼意思?」 – OldProgrammer
此代碼的任何特定錯誤? – Gaurav
對不起的英語感到抱歉。我的意思是我無法將polygonPoints數組複製到polygon結構的polygonVertexes成員中。 setPolygonQuardinates函數執行後,polygonVertexes成員具有垃圾值。 –