This class describes an exception thrown when there are tasks still scheduled to a task_group or structured_task_group object at the time that object's destructor executes. This exception will never be thrown if the destructor is reached because of a stack unwinding as the result of an exception.
class missing_wait : public std::exception;
Absent exception flow, you are responsible for calling either the wait or run_and_wait method of a task_group or structured_task_group object before allowing that object to destruct. The runtime throws this exception as an indication that you forgot to call the wait or run_and_wait method.