#includetemplate char (&ArraySizeHelper(T (&arr)[N]))[N]; #define arraysize(array) (sizeof(ArraySizeHelper(array))) template int ArraySize (T (&arr)[N]) { return N; } int main() { int arr[10]; std::cout << ArraySize(arr) << "," << arraysize(arr) << std::endl; double arr2[20]; std::cout << ArraySize(arr2) << "," << arraysize(arr2) << std::endl; return 0; }



