У меня есть библиотека с классом Cat
, который имеет свойство std :: map info
:
#ifdef LIB_EXPORT
#define LIB_API __declspec(dllexport)
#else
#define LIB_API __declspec(dllimport)
#endif
// Works!
class Dog {
std::map<int, std::unique_ptr<int>> info;
};
// Compile errors
class LIB_API Cat {
std::map<int, std::unique_ptr<int>> info;
};
Предположим: клиенты всегда используют одну и ту же версию std :: unique_ptr, а структура памяти экземпляра Cat
совпадает с ожидаемой DLL.
Класс Dog
был успешно скомпилирован, однако класс Cat
завершился неудачно с 3 ошибками:
C2280 'std :: pair :: pair (const std :: pair &)': попытка сослаться на удаленную функцию
Что я должен сделать, чтобы экспортировать класс Cat
?