Ich bin ein Anfänger in C, können Sie mir bitte erklären, wie Sie diesen Fehler beheben.c Zeiger Fehler, aktuelle Zeit
#include <Windows.h>
#include <stdio.h>
int *getDate()
{
SYSTEMTIME str_t;
GetSystemTime(&str_t);
int tab[3];
tab[0]=str_t.wDay;
tab[1]=str_t.wMonth;
tab[2]=str_t.wYear;
return tab;
}
struct node
{
int *date= getDate();
};
void main()
{
struct node n1 = (struct node*)malloc(sizeof(struct node));
int *tab = n1->date;
printf("Jour : %d , Mois : %d , Anne : %d",tab[0],tab[1],tab[2]);
}
Fehler ist: Rückkehr aus inkompatiblen Zeigertyp.
ps: Ich habe versucht, & Registerkarte im Gegenzug von getDate gleichen Fehler
Sie zurückkommen danken.
Amar, ich vermute, Sie verwenden [tag: C++], ist das 100% sicher [tag: c] code? Da dieser 'struct Knoten {int * Datum = getDate();};' ungültig ist und 'struct Knoten n1 = (struct Knoten *) malloc()' auch ist, beachte auch, dass die linke Seite der Zuweisung eine andere hat Tippe den 'malloc()' ein. –
auch 'node-> date' sollte' n1-> date' sein – BackDoorNoBaby
Außerdem rufen Sie niemals den Konstruktor für 'node' auf, so dass Ihr' date' Feld niemals gesetzt wird – BackDoorNoBaby