У меня есть функция, которая возвращает объединение, которое вызывающий знает, как обрабатывать. Есть ли эффективный однострочный способ вернуть объединение? Что я делаю сейчас:
typedef union { int i; char *s; double d; } FunnyResponse;
FunnyResponse myFunc () {
// Tedious:
FunnyResponse resp;
resp.d = 12.34;
return resp;
}
int main () {
printf ("It's this: %g\n", myFunc().d);
}
Это компилируется и запускается, однако я хотел бы иметь одну строку "return", если это возможно. Есть идеи?