Цитата(ViKo @ May 25 2015, 14:54)

А как вы узнаете, какой это член? Работайте с каждым членом отдельной функцией. Или целиком со всей структурой, по элементам.
отдельной функцией, куча функций надо писать. хочется кратко и элегантно.
ну к примеру
Код
typedef union
{
void (*fp1p)(void);
void (*fp2p)(uint32_t);
void (*fp3p)(uint32_t, uint32_t);
void (*fp4p)(uint32_t, uint32_t, uint32_t);
uint32_t (*fp5p)(uint32_t);
uint32_t (*fp6p)(uint32_t, uint32_t);
uint32_t (*fp7p)(uint32_t, uint32_t, uint32_t);
} fp;
struct command
{
char *name; //command name
uint32_t minargs;
uint32_t maxargs;
int minval;
int maxval;
fp read_func_pointer;
fp write_func_pointer;
};
если бы я мог написать
Код
if(arg_count == 0)
{
uint32_t ret_val = commands[0].read_func_pointer[i];
}
else
{
commands[0]. write_func_pointer[j];
}
было бы проще жить.