C++的模板函数写在哪?
好了,又到了快乐的C++快速上手时间
之前在这里讲过实际中.cpp
和.h
的一种用法,然后这次涉及到了模板函数template
。模板函数与传统函数不同,并无法直接使用,需要先传入所给定的参数类型,C++才能根据类型推断出该函数体实际所需要执行的指令。所以,应该将模板函数的函数体在头文件中实现。不然的话,比如说在Visual Studio中,若是还是傻傻地(像我一样)在头文件定义模板函数,然后跑到源文件中定义函数体的话,就会报出LNK2019
,也就是常见的找不到函数引用的错误。
拓展阅读 -> https://stackoverflow.com/questions/495021/why-can-templates-only-be-implemented-in-the-header-file