std :: exception
требует, чтобы его конструктор был throw ()
. Однако std :: runtime_error
принимает в качестве аргумента std :: string
, что указывает на то, что он где-то хранит std :: string
. Следовательно, где-то должно происходить присвоение или построение копии. А для std :: string
это не операция nothrow
.
Как тогда runtime_error :: runtime_error
встречается с throw ()
?
(Для контекста я реализую тип исключения и хочу сохранить несколько std :: string
с сайта вызова, и я хочу сделать это правильно ...)