#include <iostream>
#include <numeric>
#include <iterator>
template <size_t N>
int Sum(const int (&intArray)[N])
{
std::cout << "Array size in function: " << N << std::endl;
return std::accumulate(std::begin(intArray), std::end(intArray), 0);
}
int main()
{
int arr[] = {1,2,3,4,5,6,7};
int i = Sum(arr);
std::cout << "Sum " << i << std::endl;
}
ICAgICNpbmNsdWRlIDxpb3N0cmVhbT4KICAgICNpbmNsdWRlIDxudW1lcmljPgogICAgI2luY2x1ZGUgPGl0ZXJhdG9yPgogICAgIAogICAgdGVtcGxhdGUgPHNpemVfdCBOPgogICAgaW50IFN1bShjb25zdCBpbnQgKCZpbnRBcnJheSlbTl0pCiAgICB7CiAgICAgIHN0ZDo6Y291dCA8PCAiQXJyYXkgc2l6ZSBpbiBmdW5jdGlvbjogIiA8PCBOIDw8IHN0ZDo6ZW5kbDsKICAgICAgcmV0dXJuIHN0ZDo6YWNjdW11bGF0ZShzdGQ6OmJlZ2luKGludEFycmF5KSwgc3RkOjplbmQoaW50QXJyYXkpLCAwKTsKICAgIH0KICAgICAKICAgIGludCBtYWluKCkKICAgIHsKICAgICAgaW50IGFycltdID0gezEsMiwzLDQsNSw2LDd9OwogICAgICBpbnQgaSA9IFN1bShhcnIpOwogICAgICBzdGQ6OmNvdXQgPDwgIlN1bSAiIDw8IGkgPDwgc3RkOjplbmRsOwogICAgIAogICAgfQ==