Не могу пройти мимо "ошибка: пропущенные скобки вокруг инициализатора"

Получение следующей ошибки при выполнении анонимной структуры ниже:

error: missing braces around initializer [-Werror=missing-braces]

Если я поменяю 'message' на статическую строку, такую ​​как 'lalala', это прекрасно работает.

typedef struct {
    /* public: */
    char message[255];
} Note;

static uint16_t local_size = 0;
static Note *notes;


Note *add_local_note(const char *_message) {
    //char bla[255] = "hot hot hot";

    notes[(++local_size)-1] = (Note) {
        .message = _message
    };

    return notes;
}

Есть идеи? И да, я новичок в C, поэтому извиняюсь.

1 ответ

Решение

С не позволяет так

char *cp = "sample";    
char carray[10] = cp;//NG, Type is different rather than that is not able to use the variables.

char carray[10] = "sample";// or { "test" };//OK

использовать strcpy (или strncpy)

Например

strcpy(carray, cp);
Другие вопросы по тегам