error: expected identifier before '_Bool'

error: expected identifier before '_Bool'

我以前在处理我的同步元组时有以下代码:

static void sync_tuple_changed_callback(const uint32_t key, const Tuple* new_tuple, const Tuple* old_tuple, void* context) {
  persist_write_bool(key,new_tuple->value->bool);
}

但是,我只是尝试构建它(在 Cloud Pebble 中),并收到错误:

../src/main.c: In function 'sync_tuple_changed_callback':
../src/main.c:25:44: error: expected identifier before '_Bool'

怎么回事?

value 联合没有 bool 成员 - 最好的办法是使用 uint8 成员,传递 1 表示真,传递 0 表示假:

static void sync_tuple_changed_callback(const uint32_t key, const Tuple* new_tuple, const Tuple* old_tuple, void* context) {
  persist_write_bool(key,new_tuple->value->uint8 != 0);
}