2014-10-21 2 views
0

Я воспользовался приведенным ниже кодом. может у пожалуйста, скажите мне, что это значение инициализации (function_pointer): bgp_init (функция)Значение init (function_pointer): bgp_init (функция)

struct protocol proto_bgp = { 
    name:   "BGP", 
    template:  "bgp%d", 
    attr_class:  EAP_BGP, 
    preference:  DEF_PREF_BGP, 
    init:   bgp_init, 
    start:  bgp_start, 
    shutdown:  bgp_shutdown, 
}; 
+0

Это определенно C, кажется, старый фрагмент из проекта ['Bird'] (https://github.com/jkjuopperi/bird/blob/42a6f58ab89fd7f1cbe7fbc6d5208d85636c98c1/proto/bgp/bgp.c#L1149). – JustSid

+0

Да, может, я помогу мне в этом? – chinmay

ответ

0

The {...} с последующим объектом называется список инициализатора. В этом случае init инициализируется до bgp_init.

+0

Но почему точка с запятой находится между init и bgp_init. что означает точка с запятой? – chinmay

+0

Это синтаксис инициализатора. См. [Этот артикул] (http://en.cppreference.com/w/cpp/language/initializer_list). – Mahesh

+0

Спасибо за ур ответ mahesh. Но то, что вы отправили, является синтаксисом инициализатора для класса. который является C++, но код, который я упомянул здесь, полностью находится на c (на основе структур). Если вы узнаете, что это значит, поделитесь им со мной. – chinmay

Смежные вопросы