2013-06-12 2 views
0
if (rc_avpair_add(rad_config, &send, PW_FS_RESPONSE_CODE, 
        &response_code, -1, PW_FS_PEC) == NULL) 
{ 
    switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), 
         SWITCH_LOG_ERROR, 
         "failed adding Freeswitch-Response-code: %u\n", 
         response_code); 
    rc_destroy(rad_config); 
    goto end; 
} 

в приведенном выше коде response_code is и integer, и эта функция исключает только указатель, или мы можем указать адрес переменной. , но я хочу передать значение int response_code say 25, а не его адрес. как я могу это сделать ????У меня есть функция, которая принимает адрес, но я хочу напечатать значение переменной .. как я могу это сделать?

+1

Почему? почему вы не можете создать 'int resp_code = 25;' и передать '& resp_code' в функцию? – Naveen

+0

goto плохо, очень плохо! – Phong

+0

@Phong, не всегда плохо. В зависимости от всей функции это может быть примером хорошего 'goto'. – ugoren

ответ

0

Вы можете просто указать response_code на int*, но я думаю, что вы идете по пути к боли - если метод ожидает указатель, вы должны дать ему указатель. (goto - это указатель, указывающий на боль).

например.

if (rc_avpair_add(rad_config, &send, PW_FS_RESPONSE_CODE,(int*)response_code, -1, PW_FS_PEC) == NULL) 
Смежные вопросы