Possible Duplicate:
Is delete[] equal to delete?
int main()
{
char *ptr = new char[10];
delete ptr; // or delete [] ptr;
}
delete [] is for arrays, and delete is for a single object, right? So, it should be delete [] ptr; in the above code, but it seems delete ptr; is also ok. Weird?
Moreover,
int main()
{
int x;
cin >> x;
char *ptr = new char[x]; //cannot make sure whether it is a char pointer or a pointer to an array, right?
// delete ptr, or delete [] ptr;
}