Context:
Status Allocate(void **inst, const size_t nmemb, const size_t size);
# define ref(inst, type, index) \
({ \
type *_ref = NULL; \
fail(call(Array, type, RefIdx) \
with (inst, (index), &_ref)); \
_ref; \
})
Usage:
fail(Allocate(&ref(inst, type, i), 1, sizeof(type)));
Problem:
Fetching for the address of rvalue.
Personal Consideration:
Rather not solving it by having another lvalue variable to store rvalue.