On Mon, Oct 20, 2008 at 9:09 PM, Andrew Pinski <[EMAIL PROTECTED]> wrote: > On Mon, Oct 20, 2008 at 7:04 PM, Peng Yu <[EMAIL PROTECTED]> wrote: >> Hi, >> >> I tried to compile the following program, but I got the following >> error. Is it a bug of GCC? Has it been fixed in a newer version GCC? >> > > It is a bug in GCC but in later versions 4.3.0 and above, we get a > sorry message: > t.cc: In instantiation of 'B::Y<__typeof__ ((T1() * T2()))> > B::operator*(const B::Y<T1>&, const T2&) [with T1 = A::X<int>, T2 = > int]': > t.cc:54: instantiated from here > t.cc:46: sorry, unimplemented: mangling typeof, use decltype instead > > Replacing typeof with __decltype (or decltype in c++0x/g++0x modes) > works in 4.3.0 and above. Hi,
Could you please help explain what the difference between typeof and decltype are? What are c++0x/g++0x modes? Thanks, Peng