[Bug c++/55280] New: Compiler error: Class definition is recognized as function declaration
guangmuzhu at gmail dot com
gcc-bugzilla@gcc.gnu.org
Mon Nov 12 06:16:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55280
Bug #: 55280
Summary: Compiler error: Class definition is recognized as
function declaration
Classification: Unclassified
Product: gcc
Version: 4.7.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: guangmuzhu@gmail.com
A and B are both class. If a object is defined by "A a(B());", compiler reports
a is none-class type A(B (*)()).
I guess g++ translates it to "B temp(); A a(b);". If a is defined by "A
a(B(argument));", it's OK. But unfortunately, default constructor is not
allowed to be used like "B temp();", temp is declared as a function.
ps: vs 2008 doesn't have the problem
More information about the Gcc-bugs
mailing list