Was sollte denn eigentlich passieren? Vielleicht beschreibst Du mal, was Du vor hattest.
Das habe ich doch schon bereits 2 mal getan. War das nicht deutlich oder deutsch genug?
Aber Ok. Ich erzähls gern noch mal.
void delete(void* p)
{
if(p == (void*)NULL) {
return;
}
if(p == ARRAY) {
delete[] p;
} else if(p != ARRAY) {
delete p;
}
p = (void*)NULL;
}
int main(int argc, char** argv)
{
void* p1 = new void[1024];
void* p2 = new void;
delete(p1);
delete(p2);
return EXIT_SUCCESS;
}
Wird das Problem somit deutlicher?
Es geht mir nur darum, von einem beliebigen Zeiger mit beliebgen Typ in Erfahrung zu bringen ob es sich dabei um ein Array handelt. Das Programm darf aber nicht abstürzen.
Eure Grossmutter