none
IMPLEMENT_SREIAL(CElement,CObject,VERSION_NUMBER) RRS feed

  • 问题

  • IMPLEMENT_SREIAL(CElement,CObject,VERSION_NUMBER)

    error C2259: “CObject”: 不能实例化抽象类 ,CElement类已经定义过。并且使用也没有问题。

    2013年9月24日 9:41

答案

  • 你好,

    只要从接口派生并在派生类中用公共访问权限之外的访问权限实现接口方法,就可能会收到 C2259 这一错误的发生是因为编译器要求在派生类中实现的接口方法必须具有公共访问权限。 在使用较为严格的访问权限实现接口的成员函数时,编译器并不将其视为接口中定义的接口方法的实现,而这会使派生类成为抽象类。

    对于这一问题,有两种可能的解决方法:

    将已实现的方法的访问权限变更为公共访问权限。

    为派生类中实现的接口方法使用范围解析运算符,以便用接口名称来限定已实现方法的名称。

    更多相关信息,请参看以下链接:

    编译器错误 C2259

    感谢你的支持。


    <THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
    Thanks
    MSDN Community Support

    Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.


    2013年9月25日 1:44
    版主