2016-07-16 90 views
0

我想從頭中創建的一個結構中調用一個對象,其中我有一些數據類型,讓我清理一下。 ft_stock_par.h是標題的名稱。作爲函數類型的結構

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

,然後我從我想調用對象t_stock_par主要功能,我該怎麼辦呢?當我試圖從一個函數,像這樣t_stock_par.size_param對象調用我得到一個錯誤error: expected identifier or '('

+2

你的問題需要更多的上下文的獨立宣言。請顯示'main'的相關部分 –

+0

您不能用C調用對象。只能調用函數,並且您沒有提供函數。除此之外,您還沒有提供足夠的代碼來確定您實際要求的內容。一般來說,我們想要一個[mcve]來處理。 –

回答

4

在此聲明

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

t_stock_par不是struct s_stock_par類型的對象。這是這種類型的別名。

您需要定義的類型的對象或者像

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

除去typedef關鍵字在這種情況下t_stock_par將確實struct s_stock_par類型的對象的標識符。

或使用對象

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

t_stock_par obj;