c++中,函数模版的声明和定义
我将某些函数定义为函数模板,在头文件中(设为head.h)声明下,在一个源文件(head.cpp)里定义,在主函数所在的源文件(main.cpp)中#include"head.h",此时编译时出现LNK2001错误,我查了资料后,找到一个解决方法:在head.h的首部加#pragma once,在head.cpp中加条件编译,即:#ifndef HEAD_CPP #define HEAD_CPP 。。。。函数定义。。。。#endif可以正常编译、运行了,
但是新的问题又来了:
就是此时若在head.h和head.cpp里声明和定义其他普通函数(不使用函数模板的),编译时就会给出重复定义的错误,请问各位大侠,除了另外新建头文件和源文件外,还有没有别的解决方法?
谢谢!