请教一个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去掉,则没有这个问题,何解?谢谢! c++的inline好像一般都放在头文件里 inline void CP::func() {...}
应该放在头文件中.
为了避免各种各样的麻烦.
<exception c++> 的作者(c++标准委员会的)给你的建议是:
永远不要用inline.否则就是自找麻烦
页:
[1]