为什么靶心代码覆盖率不跟踪继承类的纯虚函数?



我遇到了一个关于Bullseye代码覆盖率的问题。这是程序的跟踪能力。以下代码未被跟踪。

class A
{
public:
    virtual void func() = 0;
};
class B
{
public:
    virtual void func()
    {
         std::cout << "Am I traced?" << std::endl;
    }
};
void main()
{
    A *pa = new B;
    pa->func();
}

我猜想牛眼可能无法追踪到纯粹的虚拟函数。如果有人了解这个项目,请给我一些建议。

在给定的程序中有两个错误:

void func() = 0;

应该是

virtual void func() = 0;

而且,

class *pa = new B;

应该是

class B *pa = new B;  // `class` keyword not needed

另外,请注意,AB不相关(没有继承(。

相关内容

  • 没有找到相关文章

最新更新