游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3831|回复: 12

问个关于C++内联的问题

[复制链接]

78

主题

194

帖子

194

积分

注册会员

Rank: 2

积分
194
发表于 2004-8-28 16:14:00 | 显示全部楼层 |阅读模式
我在A.h定义了一个类:
class A
{
  inline void f();//这边加不加inline好像没区别
}
然后在A.cpp中
inline void A::f()
{}
然后在B.cpp中包含A.h,连接时就会提示没有A::f()这个符号我想是编译器在编译B.cpp的时候不知道A::f()是内联函数,那我该怎么做才能让编译器知道?

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2004-8-28 20:35:00 | 显示全部楼层

Re:问个关于C++内联的问题

不用inline void f();定义
直接在后面实现的时候加inline就好了。

78

主题

194

帖子

194

积分

注册会员

Rank: 2

积分
194
 楼主| 发表于 2004-8-29 10:13:00 | 显示全部楼层

Re:问个关于C++内联的问题

这样做,在VC里是没问题的,我知道。但是无论是在BCB或GCC里这样都没有用。除非实现和调用是在一个文件里,否则编译器在编译时不知道这是一个内联函数

33

主题

669

帖子

669

积分

高级会员

Rank: 4

积分
669
QQ
发表于 2004-8-29 12:28:00 | 显示全部楼层

Re:问个关于C++内联的问题

    在头文件里直接将函数实现

78

主题

194

帖子

194

积分

注册会员

Rank: 2

积分
194
 楼主| 发表于 2004-8-29 13:18:00 | 显示全部楼层

Re:问个关于C++内联的问题

谢谢。这下惨了,我要改很多东西了

78

主题

194

帖子

194

积分

注册会员

Rank: 2

积分
194
 楼主| 发表于 2004-8-29 15:35:00 | 显示全部楼层

Re:问个关于C++内联的问题

能不能不在头文件里实现,类成员函数放在实现文件里感觉好一点,我也不用那么麻烦,譬如使用什么编译参数之类的。

139

主题

2005

帖子

2057

积分

金牌会员

Rank: 6Rank: 6

积分
2057
QQ
发表于 2004-8-29 23:47:00 | 显示全部楼层

Re:问个关于C++内联的问题

而且 VC++ 似乎是用__inline

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2004-8-30 00:19:00 | 显示全部楼层

Re:问个关于C++内联的问题

....
要么在定义的时候写inline
要么在实现的时候写inline

59

主题

1104

帖子

1199

积分

金牌会员

Rank: 6Rank: 6

积分
1199
发表于 2004-8-30 00:20:00 | 显示全部楼层

Re:问个关于C++内联的问题

在一个地方写就可以了。

139

主题

2005

帖子

2057

积分

金牌会员

Rank: 6Rank: 6

积分
2057
QQ
发表于 2004-8-30 00:31:00 | 显示全部楼层

Re:问个关于C++内联的问题

而且编译的时候还要打开内联开关。在VC里
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-18 00:42

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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