I’d like to cast a const unsigned int* array into an int* array.
static_cast and const_cast, however, fail.
const unsigned int* getArray()
{
static unsigned int a[3];
a[0] = 0;
a[1] = 1;
a[2] = 2;
return a;
}
int main()
{
const unsigned int * a = getArray();
const_cast<int*>(a); // fail
static_cast<int*>(a); // fail
}
const_castcan’t change the type, just theconstness.static_castcan’t take away theconst, nor can it change between those pointer types.What it looks like you want is:
You can also just use a C-style cast in this case: