在写 3DS MAX 插件时,经常会遇到野指针问题。检查了好几遍,确认代码没问题但MAX调用就是返回不正常数值,无奈之下,打开maxsdk/samples/目录,重新编译标准插件,跟进去看个究竟。发现有问题的修改器是多重继承
class
EditNormalsMod :
public
Modifier,
public
IEditNormalsMod
...
{
如此一来,外部得到修改器指针时则要进行动态指针转换即.dynamic_cast ,如果是用reinterpret_cast或C语言风格转换指针,很有可能会导致虚函数指针问题。同时也要把编译器选项/GR(启用运行时类型信息)打开.问题解决