2 番目のパラメーターで merge_sort(right) を渡すための最後の最後について、「型 'std::vector&' の右辺値からの型 'std::vector&' の非定数参照の無効な初期化」エラーが発生します。
left_merged = merge_sort(left);
// right_merged = merge_sort(right);
return merge(left_merged, merge_sort(right));
関数宣言は次のとおりです。
vector<int> merge_sort(vector<int>& vec)
vector<int> merge(vector<int>& left, vector<int>& right)
右辺値が一時オブジェクトであり、初期化子で使用されていないか、変数に割り当てられていない場合に破棄される方法についての理論を読んでいますが、本当に欲しいのは、関数を呼び出すことができる迅速で汚い解決策だけですパラメータ。
簡単な解決策はありますか?
ありがとう!