私は次のデータコンテナを持っています:
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()()に渡された値を記録しようとしているだけです。