“只有非静态成员函数可能是虚拟的”

时间:2012-11-01 14:53:55

标签: c++ visual-c++

获取错误,但不了解行为:

class A {
    virtual void foo() = 0;
    virtual int bar();
}

这里我收到错误“只有非静态成员函数可能是虚拟的” 我为bar();提供了实施。

2 个答案:

答案 0 :(得分:3)

错误消息具有误导性,问题是bar没有返回类型,这是非法的。

答案 1 :(得分:0)

静态成员在类的所有实例之间共享(静态),而不是暴露动态行为并允许根据对象类型执行不同的虚函数。因此,拥有静态虚函数是没有意义的。

除此之外,您提供的代码没有静态功能,因此请在此处发布完整版本。