Why is the initializion of class members not allowed outside of the constructors?
<p>In other words, why does the compiler complain about things like this:</p>

<pre><code>class Integer {
  int i = 3;
};
</code></pre>

<p>Although this is a really silly example, there are many cases in which classes have members which can be by default initialized to some value (for example some internal counter which always is default initialized to zero). What is the reason for forbidding these default initializations outside of the class constructors?</p>
