va_arg

Pavel Hudecek edizon na seznam.cz
Pátek Červenec 22 21:08:44 CEST 2016


Dobrý den všem,

mějme funkci:

void i2cSend(uint8_t adr, uint8_t bytes, ...) {
va_list fPar;
(....)
sendData[index++] = va_arg(fPar, uint8_t);
(....)
}

Na řádku sendData... vznikl následující warning a poznámky:

warning: 'unsigned char' is promoted to 'int' when passed through '...'
note: (so you should pass 'int' not 'unsigned char' to 'va_arg')
note: if this code is reached, the program will abort

Abych pravdu řekl, vůbec nevím co si o tom mám myslet. Znamená to, že va_arg 
neumí unsigned char a že bude argumenty žrát po dwordech, nebo že stačí, 
když před va_arg dám (uint8_t) a jinak bude vše OK?

Díky,
PH 



Další informace o konferenci Hw-list