您的位置:首页 > 其它

C++ 库研究笔记——通过inline避免hpp 的mutiple definition 错误

2013-09-10 16:24 351 查看
C++用了这么多年,这个却第一次知道,以前没用过hpp

这样:

// foo.hpp
void foo() { /* body */ }

// a.cpp
#include "foo.hpp"

// b.cpp
#include "foo.hpp"


出现错误:mutiple definition

解决办法1:

[code]// foo.hpp
void foo();

// foo.cpp
void foo()
{
    /* body */
}

// a.cpp
#include "foo.hpp"

// b.cpp
#include "foo.hpp"

办法2:
[code]添加 inline 关键字


[code]// foo.hpp
inline void foo() { /* body */ }

// a.cpp
#include "foo.hpp"

// b.cpp
#include "foo.hpp"


参见:


Inline
keyword in member function definition


a
multiple definition error in c++

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: