http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56004
--- Comment #2 from David Irvine <david.irvine at maidsafe dot net> 2013-01-16 16:40:43 UTC --- (In reply to comment #1) > As was explained on stackoverflow, this has nothing t odo with access > modifiers, as you can easily demonstrate by making everything public. > > _t has not been declared at the point where you try to use it, so the name is > not in scope. What are you claiming is a bug? It might be my confusion but is that not altering modifiers ? I am not sure why the initialisation list does not make the private member available (at least declared). On the clang mailing list this was hinted at as well, but I am not sure that this is a case where private: before public: does work and not vice versa although as I said it is very likely a c++ issue that I have just not come across yet (although I will remember as usual). Can you confirm why the _t is not available or declared when it is in the initialisation list ? does the decltype require earlier visibility than the ctr ? Sorry if this is indeed not a bug but a misunderstanding.