У меня есть заголовочный файл в управляемом проекте DLL, например:
Enums.h:
#pragma once
...
public ref struct ManagedStruct {
Bitmap^ image;
}
...
На этот заголовок ссылаются как из другого класса в DLL, так и из отдельного исполняемого файла. Одна только управляемая структура генерирует:
ошибка C2011: 'ManagedStruct': переопределение типа 'class'.
Если я перенесу структуру в основной заголовочный файл в DLL, она будет работать нормально и станет общедоступной, поэтому я так и делаю, но мне бы очень хотелось узнать, почему это происходит, когда я просто ее перемещаю в другой файл.
Я проверил все необходимые включения и пространства имен И попробовал очевидные средства защиты заголовков, но безрезультатно; Я все еще получаю ошибку.
Большое спасибо за понимание!