First of all the code outputs nothing. There is no any output operator in the code.
Secondly definitions of the both structure, outer and inner, are correct. So the code shall be compiled.
The only error is that function main shall have return type int specified explicitly.:)
Ah see there's the issue. I thought you were saying you must explicitly write the return statement (as OP did not do this), not the return type of the function itself. If you would have actually read my original post, you would have seen this miscommunication and not made a big deal of it.