2016-07-16 13 views
0

Ich möchte ein Objekt aus einer Struktur in einer Kopfzeile, in der ich ein paar Datentypen gemacht habe, rufen Sie mich die Dinge auf. ft_stock_par.h ist der Name der Kopfzeile.Struct als Funktionstyp

typedef struct s_stock_par 
{ 
    int size_param; 
    char *copy; 
} t_stock_par; 

und dann habe ich die Hauptfunktion, von dem ich das Objekt t_stock_par nennen will, wie kann ich dies tun? Wenn ich von einer Funktion mit dem Objekt wie diese t_stock_par.size_param zu nennen versuch bekomme ich einen Fehler error: expected identifier or '('

+2

Ihre Frage mehr Kontext benötigt werden. Bitte zeigen Sie die relevanten Teile von 'main' an –

+0

Sie können keine Objekte in C aufrufen. Es können nur Funktionen aufgerufen werden, und Sie haben keine vorgestellt. Darüber hinaus haben Sie uns nicht genügend Code vorgelegt, um zu bestimmen, was Sie eigentlich fragen. Im Allgemeinen möchten wir, dass [mcve] damit arbeitet. –

Antwort

4

In dieser Erklärung

typedef struct s_stock_par 
{ 
    int size_param; 
    char *copy; 
} t_stock_par; 

t_stock_parstruct s_stock_par nicht ein Objekt vom Typ ist. Es ist ein Alias ​​für diesen Typ.

Sie benötigen t_stock_par wird ein Objekt des Typs entweder das Entfernen der typedef Schlüsselwörter wie

struct s_stock_par 
{ 
    int size_param; 
    char *copy; 
} t_stock_par; 

In diesem Fall zu definieren sein in der Tat eine Kennung eines Objekts vom Typ struct s_stock_par.

Oder eine gesonderte Erklärung des Objekts

typedef struct s_stock_par 
{ 
    int size_param; 
    char *copy; 
} t_stock_par; 

t_stock_par obj; 
Verwandte Themen