'this' : used in base member initializer list
The this pointer is valid only within nonstatic member functions. It cannot be used in the initializer list for a base class.
The base-class constructors and class member constructors are called before this constructor. In effect, you’ve passed a pointer to an unconstructed object to another constructor. If those other constructors access any members or call member functions on this, the result will be undefined. You should using the this pointer until all construction has completed.
This is a level-1 warning under Microsoft extensions (/Ze) and a level-4 warning otherwise.