LINUX.ORG.RU

warning на функцию div


0

0

например есть такой код:

#include 

int fun(unsigned int num)
{
div_t c;

//num=1234;

c=div(num,10);

return c.rem;
}

компилятор (gcc (GCC) 3.3.3) выдает на строку c=div(num,10);
warning: function call has aggregate value
в принцепе мелочь а все равно не приятно (когда не понятно почему).

Могу предположить что это из-за unsigned int num

man div : div_t div(int numer, int denom);

fura13 ★★★
()

компилер предлагает тебе сделать функцию типа div_t и возвращать всю структуру.

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

Ой извиняюсь какую-то х**ню сморозил. Прсто компилеру не равится что ты возвращаешь элемент структуры попробуй сделать так: int a; ..... a=c.rem; return a;

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

---cut---
Ой извиняюсь какую-то х**ню сморозил. Прсто компилеру не равится что ты возвращаешь элемент структуры попробуй сделать так: int a; ..... a=c.rem; return a;
---cut---

да нет, в тут то как раз всё впорядке:

http://www.opengroup.org/onlinepubs/009695399/functions/div.html

---cut---
The div() function shall return a structure of type div_t, comprising both the quotient and the remainder. The structure includes the following members, in any order:

int quot; /* quotient */
int rem; /* remainder */
---cut---

// wbr

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