I'm working with existing code that returns a reference, something like this:
int &func()
{
static int i = 5;
return i;
}
I would like to return an error case as "NULL" but of course NULL doesn't work in a return-by-reference function. If this were returning a pointer I might do this:
int *func()
{
static int i = 5;
if (!good)
return NULL;
else
return &i;
}
Besides converting to a pointer-based return value, is there a best practice for returning a failure state?