0
我有一个接口用一个简单的签名:铸造具有定义一个接口类型的事件的对象导致内部编译器错误
namespace Serial {
public interface struct ISerial
{
uint16_t func1();
uint16_t func2();
};
}
,然后一个类类型,它实现接口
namespace Serial {
public delegate void MyEventClass();
public ref class MySerial sealed : public ISerial {
public:
event MyEventClass MyEvent;
MySerial();
...
};
}
但在其他地方,作为一个默认参数的功能,我尝试存储到一个类型MySerial作为ISerial^
void
begin(
Serial::ISerial ^s = ref new Serial::MySerial
);
参考
原因:error C1001: An internal error has occurred in the compiler.
当我从类定义中删除事件时,一切都很好编译。我发现这个错误的信息很少。
您确定这是C++而不是某种Microsoft语言吗? – 2015-04-01 00:57:37
它是Visual C++的组件扩展(通常缩写为C++/CX)。 – 2015-04-01 06:04:57