Most vexing parse comes into play here. You're actually declaring a function i, not an int variable. It shouldn't even compile (unless you actually have a function i defined somewhere... do you?).
To value-initialize the int, you need:
int i = int();