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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.