机器版本
linux2.4.30;g++3.3.4g++对
模板类编译的后,连接时,出现undefinedreferenceto`intf<long>(long&)'。文档代码结构
a.h----定义模板#ifndef__A__H
#define__A__H
template<typenameT>
intf(T&s);
#endifa.cpp----实现模板#include"a.h"
template<typenameT>
intf(T&s)
{
return0;
}main.cpp----调用模板方法处理#include"a.h"
intmain()
{
longa;
f<long>(a);
return0;
}这个问题,是g++不够完善引起,可以如下处理1.将a.cpp内容,放到a.h中,去掉a.cpp,编译连接问题解决2.如果还要a.h和a.cpp,则要在main.cpp中,export---g++估计不支持