0

出现错误,但不理解行为:

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

在这里,我收到错误“只有非静态成员函数可能是虚拟的”,我为bar();.

4

2 回答 2

3

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

于 2012-11-01T14:54:45.003 回答
0

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

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

于 2012-11-01T15:04:07.430 回答