Я относительно хорошо знаком с C и только изучаю его, чтобы опубликовать приложение Pebble C / PebbleKitJS для отслеживания автобусов. Пока у меня есть данные, обрабатываемые на сервере Node, и я готовлюсь к обработке данных с помощью файла JS. Моя одна проблема, однако, заключается в коде C.
Этот код обрабатывает данные, хранящиеся в Key Dictionary, отправленном из JS, и назначает их переменной для использования ниже. Используя #define var 9, я могу успешно установить для .high значение 9. Но через int var он терпит неудачу и выдает ошибку: элемент инициализатора не постоянный ?? .
Что означает эта ошибка и какова разница между статическим и постоянным, если я не определяю его. по-видимому, статические вары ничего не возвращают? Некоторая помощь будет очень признательна.
ОБНОВЛЕНИЕ: проблема все еще не устранена. Следующее новое сообщение об ошибке появляется в дополнение к сообщению инициализатора. error: (near initialization for 's_data_points[0].high')
int key0_buffer;
void process_tuple(Tuple *t)
{
//Get key
int key = t->key;
//Get integer value, if present
int value = t->value->int32;
//Get string value, if present
char string_value[32];
strcpy(string_value, t->value->cstring);
//Decide what to do
switch(key) {
case key_0:
//Location received
key0_buffer = value;
break;
}
}
static WeatherAppDataPoint s_data_points[] = {
{
.city = "San Diego",
.description = "surfboard :)",
.icon = WEATHER_APP_ICON_GENERIC_WEATHER,
.current = 110,
.high = key0_buffer,
.low = 9,
},
};