1
3
它看起来像是一个编译器警告,而不是一个错误,所以它仍然可以工作。编译器只是让您知道您正在做一些容易出错的事情。只要DLL和核心程序都同意基类的定义,那么这样做应该是完全可以接受的。 您应该能够使用pragma来抑制警告: |
2
1
这是件让人烦恼的事。编译器检测到基类中的代码可能运行。它不是纯粹的虚拟方法,它知道如何过滤这些方法。可能是构造函数还是析构函数?失败模式是类对象的内存布局在客户端代码和DLL中可能不相同。这导致的运行时混乱是 非常 很难诊断。 只要您能保证客户端和DLL使用完全相同的CRT和这些工具版本,使用完全相同的编译和链接设置进行编译,就可以了。通过使用非标准的uuu interface关键字而不是类,可以使基类被保证为抽象的。 |
3
0
我有一个小窍门:
虚拟方法表中f和g的顺序是在基类中指定的,这一信息是非常需要的。 |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
rainer · 后台插入程序的初始化 1 年前 |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |