This seems like a method which needn't be inlined. And it's not really clear why "foo" is set to "99". Perhaps using std::numerical_limits<int>::min() would be better, as it's then more apparent to calling code if the conversion to int failed?