3
说我有一些结构是这样的:动态内存和C派生结构++
struct A{
int someInt;
}
struct B : public A{
int someInt;
int someOtherInt;
}
和A类:
class C{
A *someAs;
void myFunc(A *someMoreAs){
delete [] someMoreAs;
}
}
会这样导致一个问题:
B *b=new B[10];
C c;
c.myFunc(b);
因为它正在删除b,认为它是A型,它更小。这会造成内存泄漏吗?
另外,假设我想在myFunc中分配更多与b相同的,使用新的,但没有C知道b是A还是B?一个朋友sugegsted typeof,但VC似乎不支持这一点。
VC不太多支持的typeof ()。你使用的是什么版本,代码如何失败? (请注意,你不需要在你的情况下使用它...) – Macke 2010-02-18 21:59:01
我不想尝试从myFunc(),btw ...;)索引该数组, – Macke 2010-02-18 21:59:51