求教模板类成员函数的问题(队列元素无法加入),谢谢!
设置了一个模板类(只摘抄有问题的部分)。声明放在.h文件中,定义体放在.cpp文件中。
main.cpp中包含.cpp文件,因此编译链接的时候没有问题。
template <class T>
class ABC
{
public:
ABC(char *filename);
}
template <class T>
ABC<T>::ABC(char *filename)
{
ifstream infile.open(filename);
T ele;
queue<T> myQ;
while(infile>>ele)//将文件中的元素读入到队列中
{
myQ.push(ele);//问题!!!
}
}
运行时发现while循环中,ele可以获得文件中的值,但是myQ.push(ele)一句无法执行。
单步调试,发现每次进入while后,又会跳到上几行的代码去,实在不知道是什么原因。
如果不用模板函数就一切正常。
盼望指教!非常感谢!
[解决办法]
把完整代码贴出来吧, 很多时候出问题的地方并不是产生问题的地方.