游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4558|回复: 7

C++中抽象类中构造方法调用自己的纯虚函数出错?

[复制链接]

29

主题

107

帖子

107

积分

注册会员

Rank: 2

积分
107
发表于 2010-7-4 21:36:00 | 显示全部楼层 |阅读模式
如题:会出现无法解析的外部符号 "public: virtual void __thiscall CInstance::CloneAnimationer(void)" (?CloneAnimationer@CInstance@@UAEXXZ)
1>C:\Users\FreeAngel\Desktop\SimpleMutiAnimation\Debug\SimpleMutiAnimation.exe : fatal error LNK1120: 1 个无法解析的外部命令,

2万

主题

2万

帖子

6万

积分

论坛元老

Rank: 8Rank: 8

积分
66489
QQ
发表于 2010-7-4 22:10:00 | 显示全部楼层

Re:C++中抽象类中构造方法调用自己的纯虚函数出错?

早期的C++中不会出错,因为它们会在一开始就将虚函数配好。

而新的C++中,在基类构造时,由于派生类还未构造,虚拟函数还是没有配的。

所以在基类构造中调用纯虚函数,会报纯虚函数调用这个错误。

6

主题

54

帖子

59

积分

注册会员

Rank: 2

积分
59
发表于 2010-7-4 22:28:00 | 显示全部楼层

Re:C++中抽象类中构造方法调用自己的纯虚函数出错?

<Effective c++>第三版,条款09里就有,析构和构造里调用虚函数容易出问题~~

3

主题

263

帖子

267

积分

中级会员

Rank: 3Rank: 3

积分
267
发表于 2010-7-5 13:23:00 | 显示全部楼层

Re:C++中抽象类中构造方法调用自己的纯虚函数出错?

嗯,同上,构造和析构中不用virtual

3

主题

263

帖子

267

积分

中级会员

Rank: 3Rank: 3

积分
267
发表于 2010-7-5 13:24:00 | 显示全部楼层

Re:C++中抽象类中构造方法调用自己的纯虚函数出错?

析构中的virual没有效果的,所以编译器要找这个函数的定义.

0

主题

398

帖子

577

积分

高级会员

Rank: 4

积分
577
发表于 2010-7-7 10:59:00 | 显示全部楼层

Re:C++中抽象类中构造方法调用自己的纯虚函数出错?

怎么看着像link错误呢?

15

主题

62

帖子

64

积分

注册会员

Rank: 2

积分
64
发表于 2010-7-7 12:17:00 | 显示全部楼层

Re:C++中抽象类中构造方法调用自己的纯虚函数出错?

那个。。。貌似只要不继承的话应该不会报错,如果继承的话,貌似有问题。ls们说的都对,构造和析构里不要调用虚函数,因为基类构造中,子类还没成型

29

主题

107

帖子

107

积分

注册会员

Rank: 2

积分
107
 楼主| 发表于 2010-7-7 23:15:00 | 显示全部楼层

Re:C++中抽象类中构造方法调用自己的纯虚函数出错?

谢了~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-8 10:46

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表