LINUX.ORG.RU

printf и typedef


0

0

typedef unsigned m_errno_t;
sprintf(m_unk + 19, "%ju", m_errno);

при компиляции такой ворнинг
warning: format ‘%ju’ expects type ‘uintmax_t’, but argument 3 has type ‘m_errno_t’

почему тайпдефы не приводятся в конце концов к конечному типу?
ну или как тогда избавиться от ворнинга без приведения типа?

anonymous
Ответ на: комментарий от Legioner

хм, да, если поставить вместо ju просто u, все хавает
но почему ругается, все равно не пойму: ведь unsigned спокойно приводится uintmax_t. какие могут быть ворнинги при повышающем приведении целочисленных типов?

anonymous
()
Ответ на: комментарий от anonymous

и не приведение типов там вроде вовсе
будет когда принтф будет доставать аргумент соответствующий

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.