静态内联函数带来的奇怪问题:难道抽象类不可以有内联函数吗?

蓝鹰 2014-11-01 09:54:26
我在dll中写了一个抽象类

classs A
{
public:
virtual void doSth() = 0;
...
static void doSthInline() //有一个静态内联函数
{
...
}
};



我在另一个dll中继承了该类并访问了void A::doSthInline(), 结果报了链接错误。
...全文
131 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
超级能量泡泡 2014-11-01
  • 打赏
  • 举报
回复
引用 5 楼 blackeagleX 的回复:
[quote=引用 3 楼 daiweifeng 的回复:] 你的代码里的不是显式内联啊 请加上inine static inline void doSthInline() { } 这样
可能是别的问题吧,谢谢,回家再试一下[/quote] 不知道你设置了什么编译链接参数,我这里一切正常。
蓝鹰 2014-11-01
  • 打赏
  • 举报
回复
引用 3 楼 daiweifeng 的回复:
你的代码里的不是显式内联啊 请加上inine static inline void doSthInline() { } 这样
可能是别的问题吧,谢谢,回家再试一下
蓝鹰 2014-11-01
  • 打赏
  • 举报
回复
引用 3 楼 daiweifeng 的回复:
你的代码里的不是显式内联啊 请加上inine static inline void doSthInline() { } 这样
非成员函数放在头文件里才需要显示内联吧。 不过这样我也试过
超级能量泡泡 2014-11-01
  • 打赏
  • 举报
回复
你的代码里的不是显式内联啊 请加上inine static inline void doSthInline() { } 这样
超级能量泡泡 2014-11-01
  • 打赏
  • 举报
回复
是可以用的啊,这没什么问题,可能是其他地方有问题,请把错误信息发上来。
蓝鹰 2014-11-01
  • 打赏
  • 举报
回复
使用的是vs2010
蓝鹰 2014-11-01
  • 打赏
  • 举报
回复
引用 7 楼 mujiok2003 的回复:
内联函数是可以export的, 记得重新编译所有代码
谢谢大家了,的确不是什么问题,工程太多了,可能是忘了链接库了

65,184

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧