Стоит ли обращать внимание на данные предупреждения об экспорте в DLL? С++

При попытке в своей dll библиотеке унаследоваться от std::vector постоянно сталкиваюсь с тем, что компилятор сильно ругается с ошибкой:

1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\vector(1835): message : см. 
объявление "std::_Compressed_pair<std::allocator<ms::MemoryUnit>,std::_Vector_val<std::_Simple_types<_Ty>>,true>"
1>        with
1>        [
1>            _Ty=ms::MemoryUnit
1>        ]

И, если более по-человечески:

C4251 std::vector<ms::MemoryUnit,std::allocator<ms::MemoryUnit>>::_Mypair: 
class "std::_Compressed_pair<std::allocator<ms::MemoryUnit>,std::_Vector_val<std::_Simple_types<_Ty>>,true>" 
должен иметь dll-интерфейс для использования клиентами class "

При попытке загуглить такую проблему нашел довольно много однотипных решений, которые заключались в добавлении такой строки:

template class YOUR_DLL_API_MACROS std::vector<YourType>;

Как я понял, это предварительное объявление с экспортом, но для меня это решение не сработало. Как правильно избежать данной ошибки?


Ответы (0 шт):