【发布时间】:2012-08-29 12:11:54
【问题描述】:
这是在一次采访中问我的问题。
如果Vtable是在编译时创建的,而vptr是在运行时分配给对象的,那么如果我们的类中有虚拟构造函数,为什么编译器会给出编译时错误?
我解释了整个机制。但他更感兴趣的是'为什么编译时错误而不是运行时错误'
我告诉他 C++ 指南是用粉笔写的,所以编译器会在编译时发送错误。
你能告诉我同样的原因吗
【问题讨论】:
-
c++中没有虚拟构造器这种东西
-
基本上是正确的answer @up.
-
你可能想解释一下虚拟构造函数对你或面试官意味着什么。
标签: c++ constructor compiler-errors runtime-error vtable