2017-02-02 2 views
0

Ich habe versucht, auf dieser Seite zu lesen, um Antworten zu finden, aber keiner der Beiträge hat mein Problem (das ist wahrscheinlich einfach) beantwortet.Fehler "X kann in dieser Funktion nicht initialisiert werden"

Ich habe eine Struktur der Person id

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; 

Ich habe Person Geburtsjahr zuzugreifen und es zu Zeigern speichern und später in diesem Format zu verwenden.

Wenn ich versuche, den Wert auf * Jahr zu speichern, erhalte ich den im Titel beschriebenen Fehler. Was mache ich falsch?

+2

'year = & xxxxx.birthyear;' – LPs

+2

Wenn Sie dereferenzieren 'year' Sie den Wert der Zeiger auf verweist zuzugreifen versuchen. Das Problem ist, dass Sie es noch nirgendwo hinweisend gemacht haben. –

+0

OFC, wie habe ich das verpasst: D danke – Jezzie

Antwort

2
*year = xxxxx.birthyear; 

Diese Linie bedeutet, dass Sie zu dereferenzieren year versuchen, die noch etwas zeigen nicht.

Um es Punkt zu xxxxx.birthyear zu machen, tun dies

year = &xxxxx.birthyear; 
+0

Danke, es funktioniert jetzt – Jezzie

Verwandte Themen