一个由inline引起的讨论
以下函数定义有问题么:
//function.h
Void hello(){
Printf(“hello,world”);
}
一般人看起来肯定觉得不对,因为我们基本上只把函数定义放在cpp里面,然后定义一个.h声明一下,在使用的地方include 一下这个.h就Ok了。可是为什么要这样做呢?
换句话说,如果我们按上面的方法定义hello(在一个.h里面定义),然后在两个文件a.cpp和b.cpp里面同时include了它,然后我们编译的时候没错,链接的时候告诉我们hello被定义了两次,这是为什么呢?