so Stellen finde ich auch schön
seg093.cpp Zeile 805
zum Glück ist die undefinierte Reihenfolge der Parameter-Evaluierung bei Funktions-Aufrufen bei C meist doch irgendwie "defined" sonst könnte solcher Code auch richtig Späße verursachen - wenn z.B.
vor
ausgeführt wird
dieser Code macht genau das selbe - aber der aktuelle Source-Aufbau ist ja auch ein Tribut an das selbe Binary-Ergebnis
seg093.cpp Zeile 805
Code:
for (i = 0, l4 = -1; i < 52; i++)
{
if (is_mouse_in_rect(l_di - 4, answer - 4,
(l_di = g_town_positions[i].x) + 4,
(answer = g_town_positions[i].y) + 4))
{
l4 = i;
break;
}
}Code:
<source>:22:10: error: unsequenced modification and access to 'l_di' [-Werror,-Wunsequenced]
21 | if (is_mouse_in_rect(l_di - 4, answer - 4,
| ~~~~
22 | (l_di = g_town_positions[i].x) + 4,
| ^
<source>:23:12: error: unsequenced modification and access to 'answer' [-Werror,-Wunsequenced]
21 | if (is_mouse_in_rect(l_di - 4, answer - 4,
| ~~~~~~
22 | (l_di = g_town_positions[i].x) + 4,
23 | (answer = g_town_positions[i].y) + 4))
| ^zum Glück ist die undefinierte Reihenfolge der Parameter-Evaluierung bei Funktions-Aufrufen bei C meist doch irgendwie "defined" sonst könnte solcher Code auch richtig Späße verursachen - wenn z.B.
Code:
l_di - 4vor
Code:
(l_di = g_town_positions[i].x) + 4ausgeführt wird
dieser Code macht genau das selbe - aber der aktuelle Source-Aufbau ist ja auch ein Tribut an das selbe Binary-Ergebnis
Code:
for (i = 0, l4 = -1; i < 52; i++)
{
struct_point* p = &g_town_positions[i];
if (is_mouse_in_rect(p->x - 4, p->y - 4, p->x + 4, p->y + 4))
{
l4 = i;
break;
}
}
