0

可能重复:
为什么 vector<bool>::reference 不返回对 bool 的引用?

我有一个模拟类,我在单元测试中使用它。

我看起来像:

class Mock
{
public:
    ...

    static ReturnType isKeyFunction(bool* _isKey)
    {
        _isKey = &(*isKeyI++);
        ...
    }
    ...
    static std::vector<bool> isKey;
    static std::vector<bool>::iterator isKeyI;
};

因此,向量填充了值,并且每次测试使用值时迭代器都会递增。

问题是代码无法编译,我猜它是因为 std::vector 被保存为位,我可以用 bool* 指向其中的成员。

error C2440: '=' : cannot convert from 'std::_Vb_reference<_Alloc> *' to 'bool *'

我该如何解决这个问题?

4

0 回答 0