I know if a variable is global, the you can always access its value by preceding the variable name with ::... but is there a way to access the value of a local
You could assign the outer x's address to a pointer object, then refer to it via the pointer in the inner scope (assuming you don't have another pointer object of the same name hiding it).
Or, as long as you're editing the code, you could change the name.