Quote:
An important detail to keep in mind when debugging or implementing a program using a static class member is that you cannot initialize the static class member inside of the class. In fact, if you decide to put your code in a header file, you cannot even initialize the static variable inside of the header file; do it in a .cpp file instead. Moreover, you are required to initialize the static class member or it will not be in scope. (The syntax is a bit weird: "type class_name::static_variable = value".)
I'm unsure what to make of the second sentence; I've got all my templates, including the initialization line, in a header file. I'm guessing the last sentence explains why the initialization line must be included. It surprised me that I could remove the initialization line and still compile and run since the constructor of FeatureRegisterer references the static member.