Синтаксис, который вы используете, будет действительным C ++ 0x ( единообразные инициализаторы ) и действительным C99 (составные литералы).
В C ++ 03 вы должны использовать либо определяемые пользователем конструкторы, либо вспомогательные функции, синтаксис фигурных скобок работает только для агрегатной инициализации .
Если ваша структура - POD , и вам нужно, чтобы она осталась одна, вы должны использовать вспомогательную функцию:
coord make_coord(int x, int y) {
coord c = {x, y};
return c;
}
UpdateB(make_coord(x, y));
В противном случае, как уже упоминалось, дать ему конструктор