读书人

模板函数不能婚配

发布时间: 2013-02-25 10:23:36 作者: rapoo

模板函数不能匹配
template <class T>
struct Ask
{
T* array;
int maxsize;
};


template <class T>
Ask<T> f(int size)
{
Ask<T> a;
a.maxsize = size;
a.array = new T[size];
};


int main()
{
int size = 50;
f(size);
return 1;
}
~
~

编译的时候报错:
test.cpp: In function ‘int main()’:
test.cpp:21: 错误:对 ‘f(int&)’ 的调用没有匹配的函数

这是怎么回事啊,为什么它找不到需要匹配的函数呢?我分明写来的f这个函数呀?
[解决办法]
从参数表没办法确定的模板参数必须显式指定。比如f<char>(size);
[解决办法]
楼主你确定 你模板那章看完了? 或者你照着写的代码一致?

读书人网 >C++

热点推荐