http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48386
--- Comment #2 from zxfox at mail dot ru 2011-03-31 13:37:05 UTC ---
(In reply to comment #1)
> This is not a bug, G++ is correct.
>
> Are you trying to create a static variable?
>
> The rules of C++ say that "B b( A() )" is interpreted as a declaration of a
> function called "b" which takes a single parameter and returns "B"
For:
struct A {};
struct B
{
B( A ) {}
};
int main()
{
B b( A() );
}
all works, so I have decide that is a bug, sorry for wasted time.