constexpr static member before/after C++17
问题 As far as I can see, a very common situation is something like template<int i> class Class { public: static constexpr int I = i; static constexpr int J = constexprFunction(i); // further Class implementation }; Almost as common I see the mistake (in fact most of my questions here are because I forgot it and did not know, what the proper question had been) to forget the additional definition if the member are odr-used: template<int i> constexpr int Class<i>::I; template<int i> constexpr int