2017-02-02 7 views
0

Я попытался прочитать этот сайт, чтобы найти ответ, но ни одна из должностей не ответила на мою проблему (что, вероятно, легко).ошибка «X может использоваться неинициализированным при этой функции»

У меня есть-структура с идентификатором человека

struct user_id { 
    uint8_t birthday; 
    uint8_t birthmonth; 
    uint16_t birthyear; 
}; 
struct user_id xxxxx; 

xxxxx.birthday=2; xxxxx.birthmonth=2; xxxxx.birthyear=2017; 

У меня есть доступ к году рождения человека и сохранить его в указатель, а затем использовать его в этом формате.

uint16_t *year; 
*year = xxxxx.birthyear; 

Когда я пытаюсь сохранить значение до * года, я получаю ошибку, описанную в заголовке. Что я делаю не так?

+2

'год = & xxxxx.birthyear;' – LPs

+2

Когда вы разыменования 'year' вы пытаетесь получить доступ к значению указатель, указывающий на. Проблема в том, что вы на самом деле ничего не указали. –

+0

OFC, как я пропустил это: D спасибо – Jezzie

ответ

2
*year = xxxxx.birthyear; 

Эта линия означает, что вы пытаетесь разыменованием year, не указывая на что-нибудь еще.

Для того, чтобы она указывала на xxxxx.birthyear, сделать это

year = &xxxxx.birthyear; 
+0

Спасибо, он работает сейчас – Jezzie