1

我遇到了一个关于 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();
}

我猜 Bullseye 可能不会追踪纯虚函数。如果有知道这个程序的人,请给我一些建议。

4

1 回答 1

2

在给定的程序中,您有 2 个错误:

void func() = 0;

应该,

virtual void func() = 0;

和,

class *pa = new B;

应该,

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

另外,请注意AB不相关(无继承)。

于 2011-07-06T02:58:18.247 回答