清风竹林

ぷ雪飘绛梅映残红
   ぷ花舞霜飞映苍松
     ----- Do more,suffer less

不要在C++的.h文件中给出全局函数的定义式

  本来,是理所当然的想设计成inline函数的,编译也没有问题,但在链接的时候报error LNK2005的错误(**函数已经在**.obj文件中定义。。。),结果证明,是因为我把定义式写在了.h文件中。
  把定义式放到.cpp文件中,在.h文件中仅仅保留全局函数的定义式,链接通过
  可是,这样的函数是inline的嘛?在定义式那边加上inline?待进一步探索

posted on 2008-09-23 15:41 李现民 阅读(1781) 评论(2)  编辑 收藏 引用 所属分类: 语法试炼

评论

# re: 不要在C++的.h文件中给出全局函数的定义式 2008-09-24 12:20 megax

头文件类里面的函数必须写成inline或者static  回复  更多评论   

# re: 不要在C++的.h文件中给出全局函数的定义式 2008-09-24 12:22 李现民

@megax
这些是全局函数,不是类函数
类函数的话,如果定义和声明都写在类中,默认就是inline的  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理