"nice" keyword in c++?
<p>So I was doing some simple C++ exercises and I noticed an interesting feat. Boiled down to bare metal one could try out compiling the following code:</p>

<pre><code>class nice
{
  public:
    nice() {}
};

int main()
{
  nice n;
  return 0;
};
</code></pre>

<p>The result is a compilation error that goes something like this:</p>

<pre><code>&lt;file&gt;.cpp: In function ‘int main()’:
&lt;file&gt;.cpp:11: error: expected `;' before ‘n’
&lt;file&gt;.cpp:11: warning: statement is a reference, not call, to function ‘nice’
&lt;file&gt;.cpp:11: warning: statement has no effect
</code></pre>

<p>And this was using regular g++ on Max OS X, some of my friends have tried in on Ubuntu as well, yielding the same result.</p>

<p>The feat seems to lie in the word "nice", because refactoring it allows us to compile. Now, I can't find the "nice" in the keyword listings for C++ or C, so I was wondering if anyone here had an idea?</p>

<p>Also, putting</p>

<pre><code>class nice n;
</code></pre>

<p>instead of</p>

<pre><code>nice n;
</code></pre>

<p>fixes the problem.</p>

<p>P.S. I'm a relative C++ newbie, and come from the ActionScript/.NET/Java/Python world.</p>

<p><strong>Update:</strong></p>

<p>Right, my bad, I also had an</p>

<pre><code>#include &lt;iostream&gt;
</code></pre>

<p>at the top, which seems to be the root of the problem, because without it everything works just fine.</p>
