What is the difference between: new int*[]
and new (int*)[]
:
int** pA = new int*[2] // returns a pointer to an array of pointers to int.
new (int*)[2] // what should this return ? Shouldn't it be same as the above.
Likewise,
float* pB1 = new float[3]; // compiles successfully.
float* pB2 = new (float)[3] //Gives an error. Shouln't it return an array of floats ?
But, the compiler says:
A value of type 'float' cannot be used to initialize a value of type float* .
What am I missing here? I'm using VS2015 Community IDE.