可能重复:
Why can templates only be implemented in the header file?为什么编译器无法找到的.cpp模板定义
我想知道,为什么一个C++编译器不能够实例化的模板如果它是在.cpp文件中定义的类?
编辑:我很抱歉,但我已经做了搜索之前,但回答这个看起来相同的问题是“编译器无法找到.cpp中的模板定义”,但不说明原因。除非我的阅读答案不好。
可能重复:
Why can templates only be implemented in the header file?为什么编译器无法找到的.cpp模板定义
我想知道,为什么一个C++编译器不能够实例化的模板如果它是在.cpp文件中定义的类?
编辑:我很抱歉,但我已经做了搜索之前,但回答这个看起来相同的问题是“编译器无法找到.cpp中的模板定义”,但不说明原因。除非我的阅读答案不好。
C++的常见问题说明了一切:
http://www.parashift.com/c++-faq-lite/templates.html#faq-35.12
编译器一次处理一个.cpp文件。因此,他们是能够实例化一个.cpp文件中的模板,但只有在它们被定义在同一个.cpp文件中。
请不要一次又一次地发布了同样的问题。答案不会有所不同。 – Jon 2011-04-11 11:19:28
你读过你最后一个问题的重复内容吗?如果是这样,你应该能够使这个问题更具体。您可能还想阅读[本网站](http://www.parashift.com/c++-faq-lite/templates.html)。 – 2011-04-11 11:19:35
哦,有几十个问题在StackOverflow上问这个问题!请在提问之前尝试使用搜索。 – 2011-04-11 11:19:46