http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58317
--- Comment #2 from Oleg Smolsky <oleg at smolsky dot net> --- Hey Jonathan, here is a simpler and more natural way to rewrite your example: struct A { static int f() { return 0; } A(int) { } }; int main() { A a(A::f()); // it is static! } So, do you happen do have a reference to the Standard? Or is it one of the things that are not mentioned explicitly?