>>53
・引数を std::size_t にする
・throw std::invalid_argument;
・assert入れる(呼び出し元にチェックを要求する)