Dire que j'ai quelques struct comme ceci:mémoire dynamique et struct héritées en C++
struct A{
int someInt;
}
struct B : public A{
int someInt;
int someOtherInt;
}
et une classe:
class C{
A *someAs;
void myFunc(A *someMoreAs){
delete [] someMoreAs;
}
}
aurait cette cause un problème:
B *b=new B[10];
C c;
c.myFunc(b);
Parce que il supprime b, en pensant que c'est de type A, qui est plus petit. Cela causerait-il une fuite de mémoire? Par ailleurs, disons que je veux allouer plus de la même chose que b dans myFunc, en utilisant new, mais sans que C sache si b est de A ou de B? Un ami sugegsted typeof, mais VC ne semble pas supporter cela.
VC ne supporte trop typeof(). Quelle version utilisez-vous et comment le code échoue-t-il? (Notez que vous n'avez pas besoin de l'utiliser dans votre cas ...) – Macke
Je ne voudrais pas essayer d'indexer ce tableau depuis myFunc(), btw ...;) – Macke