私は以下を持っています
class Panel {
public:
std::array<std::array<std::unique_ptr<fb::Block>, Panel::Y>, Panel::X> blocks;
};
そして、私はこのようなメンバー関数を持っています:
void Panel::processMove() {
if (move == nullptr) {
return;
}
MoveType type = move->type;
switch (type) {
case MoveType::BLOCK_SWITCH: {
std::unique_ptr<fb::Block> src = blocks[cursor.x][cursor.y];
std::unique_ptr<fb::Block> dst = blocks[cursor.x + 1][cursor.y];
if ((src == nullptr) && (dst == nullptr)) {
break;
}
...
}
}
このコードは次のエラーでコンパイルに失敗するため、ポイントされたアイテムへの一時的な参照を取得する方法がわかりません。
call to implicitly-deleted copy constructor of 'std::unique_ptr<fb::Block>'
先のとがったアイテムへの一時的な参照を取得するにはどうすればよいですか?