Is the result of the following indirect recursion defined by the standard, or is this behavior undefined?
auto abc() -> int ; auto xyz() -> int { static int instance = 3 + abc(); return instance; } auto abc() -> int { static int instance = 2 + xyz(); return instance; } int main() { int tmp = xyz();
There is tmp 5 in VS2012, but I'm not sure if this is guaranteed by the standard.
source share