Portál AbcLinuxu, 10. května 2025 08:03
int temp; temp = json_object_get_int(value); // vrací int apmib_set(mibid, (void *) &temp);Toto jde, daná funkce vrací char *
apmib_set(mibid, (void *) json_object_get_string(value));Je nějaká možnost, jak to zapsat bez té pomocné proměnné? Díky
Řešení dotazu:
Je nějaká možnost, jak to zapsat bez té pomocné proměnné?Nie. Pri stringu to ide, lebo pri stringu vracia pointer. A pointery sa môžu vzajomne pretypovať, tj. z const char * na void *).
neznáme hlavičky těch fcí:o :O
si ale myslim že ta fungce apmib_set žere nějakej (void *) ukazatel noa to musí bejt nějaká věc strčená někde do paměti. fungce json_get_str asi vrací nějakej const char * a ten je asi uloženej v nějaký struct takže ti to jakoby funguje :O ;D narozdíl vod json_get_int která vrací hodnotou. musíš dotoho nějak strčit ten ukazatel na int kterej musí někde nějak v paměti existovat :D ;D
apmib_set(mibid, (void *) json_object_get_string(value));Lebo ak je to toto vyššie ako definícia tej funkcie, tak Tvoj zápis nie je logicky správny. Ak je číslo ako string uložené, tak by si ho mal previesť (nerovná sa pretypovať) na čislo (int).
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.