我有以下数据容器:
struct Node
{
explicit Node(const std::vector<Data>& _data, const Value& _value): data(_data), value(_value)
{
}
const std::vector<Data> data;
const Value value;
};
我希望按照这些思路写一个模拟:
class MockVisitor: public IVisitor
{
public:
virtual void operator()(const Node& _node)
{
node = _node;
}
Node node;
};
但是,我收到了错误:
error C2582: 'operator =' function is unavailable in 'Node'.
我假设这是因为我只能分配给一个 const 节点。无论如何我可以摆脱这个错误吗?请记住,这只是一个模拟类。我只是想记录传递给 operator()() 的值,以便在单元测试中检查它。