sky*_*oor 4 c++ malloc memory-management new-operator
这是编译器错误还是运行时错误?下面的代码可以编译!
class Base{
void g();
void h();
};
int main()
{
Base* p = new Base();
free(p);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我像这样声明类Base,则无法使用虚函数进行编译
class Base{
virtual void g();
void h();
};
Run Code Online (Sandbox Code Playgroud)
无论函数是否为虚函数,下面的代码都可以一直编译.
class Base{
void g();
void h();
};
int main()
{
Base* p = (Base*)malloc(sizeof(Base));
delete p;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
971 次 |
| 最近记录: |