Код: Выделить всё
VariantFunctions.ixxКод: Выделить всё
export module VariantFunctions;
struct tagVARIANT; // Forward declaration of VARIANT type
typedef struct tagVARIANT VARIANT;
export bool IsNonZeroI4x(const VARIANT & v) noexcept;
Код: Выделить всё
VARIANT v;
VariantInit(&v);
IsNonZeroI4x(v);
ошибка C2664: 'bool IsNonZeroI4x( const VARIANT &) noException': невозможно преобразовать аргумент 1 из 'VARIANT' в 'const VARIANT &'
Я могу написать аналогичную функцию, которая принимает простую введите, например, long вместо VARIANT, но мне нужно понять, почему приведенный выше код не работает.
Я пытался используйте #include в файле .ixx, но в этом заголовке так много несовместимых с модулем вещей, что это невозможно, поэтому я задумался о предварительном объявлении.
Подробнее здесь: https://stackoverflow.com/questions/789 ... c20-module