On Thursday, 26 February 2015 at 16:40:27 UTC, Zach the Mystic wrote:
int r; // declaration scopedepth(0)

void fun(int a /*scopedepth(0)*/) {
int b; // depth(1)
{
  int c; // depth(2)
  {
    int d; // (3)
  }
  {
    int e; // (3)
  }
}
int f; // (1)
}


You have element of differing lifetime at scope depth 0 so far.

Sorry for the delay.

I made a mistake. Parameter `a` will have a *declaration* scope of 1, just like int b above. It's *reference* scope will have depth 0, with the "mystery" bit for the first parameter set.

That is, `a` would have such a reference scope is it were a reference type... :-)

Reply via email to