Ответ 1
Похож на ошибку, так как следующие цитаты доказывают, что они действительно совместимы, и я не мог найти ничего, чтобы запретить это.
12.3.2. Функции преобразования [class.conv.fct]
2) Функция преобразования может быть
explicit
[...]
[...]
5) Функции преобразования могут бытьvirtual
.
и
7.1.2 Спецификаторы спецификаций [dcl.fct.spec]
5) Спецификатор
virtual
должен использоваться только в начальном объявлении нестатической функции-члена класса; см. 10.3.
6) Спецификаторexplicit
должен использоваться только в объявлении конструктора или функции преобразования внутри определение его класса; см. 12.3.1 и 12.3.2.