可能重复:
Why vector<bool>::reference doesn’t return reference to 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 *'
我该如何解决这个问题?