http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52036
Daniel Krügler <daniel.kruegler at googlemail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |daniel.kruegler at | |googlemail dot com --- Comment #1 from Daniel Krügler <daniel.kruegler at googlemail dot com> 2012-01-29 13:59:50 UTC --- Yes, C++11 has relaxed the constraints and supports variables of internal linkage as well. E.g. a variable declared with the static keyword in namespace scope is feasible now. But your example does not provide a variable of either internal or external linkage: Variable pi is an automatic variable and thus has *no* linkage at all. Those are no valid template arguments in C++11 either. Without any form of linkage, a compiler cannot associate an address constant or reference constant with the variable.