In C++ the only way to pass an array to a function is by pointer, considering following functions:
void someFunc(sample input[7]){
 //whatever
}
void someFunc(sample input[]){
 //whatever
}
void someFunc(sample (& input)[7]){
 //whatever
}
All above function parameters are identical with following function parameter when the function is not inlined:
void someFunc(sample * input){
 //whatever
}
Now to pass the array with value we have to put it in a structure like below:
struct SampleArray{
 public:
  sample sampleArray[7];
};
Now I'd like to know if anyone knows the reason behind this design in C++ standard that makes passing pure arrays by value impossible by any syntax and forces to use structs.
 
     
     
     
    