2016-07-16 3 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; 

В этом случае t_stock_par будет действительно идентификатором объекта типа struct s_stock_par.

Или используя отдельную декларацию объекта

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

t_stock_par obj; 
Смежные вопросы