'identifier' : constructor initializer lists are only allowed on constructor definitions
A base class initializer list is used on the definition of a function that is not a constructor.
Example
class C { public: C(); }; class D : public C { public: D(); void func(); }; void D::func() : C() {} // error D::D() : C() {} // OK