空のコンテナのときダメじゃないですか
std::accumulate - cppreference.comのサンプルをみてですね、endは最後の要素の次だから+1もOKなのか、[begin, end)すげえな!とか勝手に感心してたんですが、勘違いでした。
std::accumulate(v.begin() + 1, v.end(), std::string(*v.begin()), ...);
vが空の時v.begin() == v.end()ですから、+1はまずいですよ。
std::accumulate - cppreference.comのサンプルをみてですね、endは最後の要素の次だから+1もOKなのか、[begin, end)すげえな!とか勝手に感心してたんですが、勘違いでした。
std::accumulate(v.begin() + 1, v.end(), std::string(*v.begin()), ...);
vが空の時v.begin() == v.end()ですから、+1はまずいですよ。