Warning: X may be used uninitialized in this function

后端 未结 3 1132
悲哀的现实
悲哀的现实 2020-12-23 09:21

I am writing a custom \"vector\" struct. I do not understand why I\'m getting a Warning: \"one\" may be used uninitialized here.

This is my vector.h fil

3条回答
  •  醉话见心
    2020-12-23 10:19

    one has not been assigned so points to an unpredictable location. You should either place it on the stack:

    Vector one;
    one.a = 12;
    one.b = 13;
    one.c = -11
    

    or dynamically allocate memory for it:

    Vector* one = malloc(sizeof(*one))
    one->a = 12;
    one->b = 13;
    one->c = -11
    free(one);
    

    Note the use of free in this case. In general, you'll need exactly one call to free for each call made to malloc.

提交回复
热议问题