小编Zah*_*ari的帖子

随机初始化一个结构体

我定义了两个结构。点和三角形,我想在主函数中用随机值初始化它们。但是这一行的编译器出了问题,停了下来。问题是什么?

#include <cmath>
#include <ctime>

struct Point{
    double x;
    double y;
    double z;
};
struct Triangle{
    Point* a;
    Point* b;
    Point* c;
};
int main() {
    Triangle t1;
    srand(time(0));
        t1.a->x=10.0*(rand()/RAND_MAX)-5; //this line gives Segmentation fault
        t1.a->y=10.0*(rand()/RAND_MAX)-5;
        t1.a->z=10.0*(rand()/RAND_MAX)-5;
        t1.b->x=10.0*(rand()/RAND_MAX)-5;
        t1.b->y=10.0*(rand()/RAND_MAX)-5;
        t1.b->z=10.0*(rand()/RAND_MAX)-5;
        t1.c->x=10.0*(rand()/RAND_MAX)-5;
        t1.c->y=10.0*(rand()/RAND_MAX)-5;
        t1.c->z=10.0*(rand()/RAND_MAX)-5;
}
Run Code Online (Sandbox Code Playgroud)

c++ struct segmentation-fault

-4
推荐指数
1
解决办法
252
查看次数

标签 统计

c++ ×1

segmentation-fault ×1

struct ×1