Intel C++ compiler (Version 16.0.3.207 Build 20160415) seems to drop the explicit specifier when the constructor of the base class is inherited with using.
struct B { explicit B(int) { } }; struct D : B { using B::B; }; B b = 1; // Not OK, fine D d = 1; // Not OK with Microsoft C++ and GCC, but OK with Intel C++
Thread Topic:
Bug Report