На решения данных ошибок ушло больше целого рабочего дня. Как узнал из разных ресурсов, не можно миксовать managed
и not-managed
классы.
В следствии чего могут возникнуть ошибки типа:
c:\program files (x86)\windows kits\10\include\10.0.17134.0\um\objidl.h(12144): error C3699: '*': cannot use this indirection on type 'IDataObject'
note: compiler replacing '*' with '^' to continue parsing
error C2872: 'IDataObject': ambiguous symbol
Потратил несколько часов чтобы переписать not-managed
классы, НО это не решило проблему.
Так как это достаточно популярная проблема среди новеньких, которые только начинают работать с C++/CLI. В моем случае ряд всех этих ошибок был вызван не миксом классов, а библиотекой marshal_cppstd, которая переводит String^ в std::string. После удаления #include код начал компилироваться без ошибок.
Если вы столкнулись с данной проблемой, не спишите переписывать и подстраивать not-managed классы, а так же чистить header файлы от using namespace ... и проверьте не используется ли где-то в коде именно эта библиотека.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Прохожу курс по с++ и там в рекомендуемом решении задачи написано: