xbuin 发表于 2006-11-5 15:09:42

请教一个inline的问题。

如下文件:
c.h:
class CP{
...
void func();
...
};
c.cpp:
...
inline void CP::func() {...}
...
m.cpp:
int main() {
...
CP cp;
cp.func();
....
}
使用的编译指令:
g++ -c c.cpp
g++ -c m.cpp
g++ -o mt m.o c.o
出错信息为对func()未定义的引用。如果把inline去掉,则没有这个问题,何解?谢谢!

mozilla 发表于 2006-11-6 09:33:33

c++的inline好像一般都放在头文件里

snnn 发表于 2006-11-9 11:14:22

inline void CP::func() {...}
应该放在头文件中.

为了避免各种各样的麻烦.
<exception c++> 的作者(c++标准委员会的)给你的建议是:

永远不要用inline.否则就是自找麻烦
页: [1]
查看完整版本: 请教一个inline的问题。