"Peter Dimov" <[EMAIL PROTECTED]> writes: > Looks like a no-brainer, &k can't be a compile-time constant if k is > thread-local. > > 1. > > void f() > { > C<&k> ck; > } > > 2. > > void f() > { > typedef C<&k> ck_type; > ck_type ck; > } > > 3. > > typedef C<&k> ck_type; > > void f() > { > ck_type ck; > } > > The type of ck cannot depend on the thread that is executing f.
It doesn't have to. When used as a template parameter, an address could refer to something more like a member function pointer, i.e. an offset in the thread's table of globals. -- Dave Abrahams Boost Consulting www.boost-consulting.com _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost