#include #include #include #ifdef _MSC_VER # include #endif int main() { std::unique_ptr u(new int(0)); #ifdef _MSC_VER // clang-cl has problems instantiating this constructor in C++17 mode // error: indirection requires pointer operand ('const _GUID' invalid) // return *_IID; IUnknownPtr ptr{}; IDispatchPtr disp(ptr); #endif return *u; }