[EMAIL PROTECTED], [EMAIL PROTECTED] writes:

|   template< typename T, int role, bool ndebug >
|   struct init {
|     static T * do_it() { 
|       T* tmp(new T);
|       std::cout << "/tmp/ point to: " << *tmp << "\n";
|       return tmp;
|     }
|   };

| /tmp/ point to: 0
| /tmp/ point to: 1075812784

Hi,

This is not a bug in the compiler.

For fundamental types, a direct-new-expression of the form 'new T'
does -not- do default initialization.  If you hve to say

        new T()

to get default initialization.  Please note the parens.

-- Gaby
CodeSourcery, LLC                       http://www.codesourcery.com


Reply via email to