In the following example sizeof(ar[0]) is taken twice for the same array.
First in main, where the result is correct.
Then again in the Row class constructor initialization list, where the result is wrong.
What happened?
Arrays are not CopyAssignable; Row constructor accepts a pointer to int. Row( int ar[] ) is the same as Row( int* a ); sizeof(a) == sizeof(pointer to int)