You have a struct that contains a constructor. This function is called when you create an instance of the struct to initialize the member variables (fields).
The double colon (::) is a syntax error. It should be a single colon. t(t) and c(c) mean that the member variables t and c are initialized with the value of the parameters t and c respectively. Of course it's an error if these member variables don't exist.