Using a CLR Console Application project to test, I can see the behavior you are talking about. You say that the use of 'override' causes the compiler to complain, but I'm not sure what scenario would do that exactly. My tests so far have worked. (although I am not an expert at C++/CLI)
Is there a specific interface declaration that will reproduce this issue?
using namespace System;
interface struct MyInterface
{
void f();
};
ref class MyClass : public MyInterface
{
public:
virtual void f() override
{
Console::WriteLine(L"Hello World");
}
};