diff --git a/include/chaiscript/dispatchkit/function_params.hpp b/include/chaiscript/dispatchkit/function_params.hpp index c8afaaf8..249c41a7 100644 --- a/include/chaiscript/dispatchkit/function_params.hpp +++ b/include/chaiscript/dispatchkit/function_params.hpp @@ -30,13 +30,19 @@ namespace chaiscript { } explicit Function_Params(const std::vector &vec) - : m_begin(&vec.front()), m_end(&vec.front() + vec.size()) + : m_begin(vec.empty() ? nullptr : &vec.front()), m_end(vec.empty() ? nullptr : &vec.front() + vec.size()) { } template constexpr explicit Function_Params(const std::array &a) - : m_begin(&*std::begin(a)), m_end(&*std::end(a)) + : m_begin(&a.front()), m_end(&a.front() + Size) + { + } + + template<> + constexpr explicit Function_Params(const std::array &a) + : m_begin(nullptr), m_end(nullptr) { }