Не могу пройти мимо "ошибка: пропущенные скобки вокруг инициализатора"
Получение следующей ошибки при выполнении анонимной структуры ниже:
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);