Объект std::thread
, который вы создаете, уничтожается в конце вашего конструктора, поскольку он является локальной переменной. Если вызывается деструктор из std::thread
, когда поток является соединяемым (как в вашем примере), вызывается std::terminate
.
Вы должны сохранить этот объект потока как член вашего класса, или сохранить его где-то в другом месте, или отсоединить поток. (Или присоединитесь к нему в своем конструкторе, но это звучит не так, как если бы оно делало то, что вы хотите.)
Это абсолютно возможно, хотя вам нужно будет использовать какой-то JavaScript, чтобы это произошло, и загрузите немного больше данных в DOM при начальной загрузке страницы.
Для каждого option
в вашем company
выберите раскрывающийся список, добавьте атрибут данных для name
и email
.
Затем посмотрите, что выпадающее меню для события change
в JavaScript. Всякий раз, когда это событие срабатывает, если атрибуты data-company-name
и data-company-email
определены для выбранного параметра, отключите поля ввода и заполните их этими значениями. Если эти атрибуты данных не определены для опции (вероятно, только для опции «Добавить новую компанию»), затем очистите значения из полей ввода и включите их.