Mic*_*ael 19 c++ templates header-files
在编译期间,我得到一个"多重定义"错误,它指的是头文件中的模板特化.我需要将专业化放入源文件中吗?
Bo *_*son 21
如果它是您专门的函数,您可以将它们放在.cpp文件中,或者在标题中将它们内联.
就像James指出的那样,如果你没有内联函数,你仍然需要在头文件中声明特化.否则编译器不知道它必须在别处寻找它们.
然后,您可以将实现(定义)放在.cpp文件中.就像其他功能一样.
Che*_*Alf 10
不,您不需要在单独编译的文件中放置特化,但是,您需要注意专门的函数模板只是一个普通的函数,因为它是完全专业的.
因此,除非声明,否则不能在多个翻译单元中定义inline.
inline
归档时间:
13 年,1 月 前
查看次数:
8079 次
最近记录: