why does the line: "cout << elements(dArray);" in main() produce a compiler error saying "type 'double' unexpected"? I am using Visual C++.
#include <iostream>
#include <cstdlib>
using namespace std;
void printAverage(double dArray);
const int dDIM1 = 3, dDIM2 = 2, dDIM3 = 5, dDIM4 = 2;
const int SEED = 1000;
#define elements(array) (sizeof(array)/sizeof(array)/double)
int main()
{
double dArray[dDIM1][dDIM2][dDIM3][dDIM4], *elPtr;
//double (*elPtr)[dDIM1][dDIM2][dDIM3][dDIM4] = &dArray;
srand(SEED);
for(elPtr = (double *)dArray; elPtr < (double *)(&dArray+1); ++elPtr)
*elPtr = (double)rand();
cout << dArray[0][0][0][0] << endl;
cout << dArray[0][0][3][1] << endl;
cout << dArray[1][0][0][2] << endl;
cout << elements(dArray);
//double average = ((dArray[0][0][0][0]) + (dArray[0][0][3][1]) + (dArray[1][0][0][2])) / elements(dArray);
//cout << average << endl;
//printAverage(dArray);
return (0);
}