Why would a constructor fail in an unnamed namespace?
<p>I'm implementing the Discrete Fourier Transform for a school assignment, and I've created a <code>DFT</code> class which constructs the transformation matrix. For some reason, when I instantiate a <code>DFT</code> object in <code>main()</code> everything works fine, but the matrix isn't constructed properly if I use the unnamed namespace.</p>

<p>Works:</p>

<pre><code>int main()
{
    DFT matrix(size);
    ...
    matrix.Transform(data);
    ...
}
</code></pre>

<p>Doesn't work:</p>

<pre><code>namespace
{
    DFT matrix(size);
}

int main()
{
    ...
    matrix.Transform(data);
    ...
}
</code></pre>

<p>Compiler bug, or am I misremembering how the unnamed namespace works?</p>
