fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. template <typename T, std::size_t N>
  5. constexpr T arraysum(const T (&array)[N]) {
  6. T sum = 0;
  7. for (size_t i = 0; i < N; ++i) {
  8. sum += array[i];
  9. }
  10. return sum;
  11. }
  12.  
  13. template <typename T, std::size_t N>
  14. constexpr T arraysize(T (&)[N]) {
  15. return N;
  16. }
  17.  
  18. int main() {
  19. // your code goes here
  20. constexpr int arr[] = {1, 2, 3};
  21. constexpr int size = arraysize(arr);
  22. cout<<size<<endl;
  23. constexpr int sum1 = arraysum(arr);
  24. cout <<sum1;
  25. int arr2[sum1];
  26. return 0;
  27. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
3
6