C ++ / CX中通用委托的简单声明似乎会产生警告。例如:
generic<typename T>
delegate void DoStuff();
在VS2012 Update 2上生成以下内容:
warning C4570: 'DoStuff' : is not explicitly declared as abstract but has abstract functions
如果我将委托更改为返回类型T
或将T
类型作为参数或任何内容,则无关紧要。我发现修复警告的唯一方法是使委托非通用。
据我所知,将委托声明为抽象是没有意义的。文档没有提到这样做。无论如何,当我尝试时,我遇到了预期的错误。如果泛型委托以某种方式确实具有抽象函数,那么它必须是C ++ / CX的实现细节,我显然无法做任何事情。
我是否完全错过了一些基本的东西?