I just figured it out. I forgot to put the class scope operator on one of my member functions that use the static member. The error it produced was indicating the static member initialization rather than the function that was using it out of scope. So that was a little misleading. It works fine as I implemented it above.