定义的结构体是这样: typedef struct{ int x; int y; int label; }DataPoint; typedef struct{ int x; int y; }PeakData; typedef struct{ int label; int peakCount; PeakData* peaks; double threshold; }MaterialData; 比如现在我用函数labelPeaks(DataPoint *point,MaterialData material)以得到material.peaks(*point已知) for(i=0;i<n;i++){ material.peaks[i].x = point[i].x; material.peaks[i].y = point[i].y; } 这段代码在运行第一遍的时候就出错了,不知道是不是需要作空间申请什么的或者哪儿错了?求指正 |
|
这两个数组是怎么创建的?代码贴出来看看
|
|
20分 |
需要提前分配好内存
material.peaks = new PeakData[n]; |
代码挺长的就不贴了。。 |
|
我按您说的添加了,可还是出现一样的问题 |
|
material.peaks没有分配内存,无法赋值 |
|
双击定位到错误处,看看哪行出错
|
|
编译没错 就是调试的时候出错: |
|
感谢 ,别的地方还有个小问题,现在已经解决了 |
|
传入实参数组point没正确初始化
|