The static union initializer initializes the first member of the union ( in this case, webvtt_string ). So it is essentially setting  webvtt_string::d to NULL (assuming NULL == 0, usually true).