总是报无法解析外部命令

蜡笔小新啦 2012-11-21 01:35:38
----------------- 头文件

#pragma once

#include <iostream>

using namespace std;

const int defaultSize=100;

template<typename T> class seqList
{
public:
seqList(int sz=defaultSize):maxSize(sz),curSize(-1)
{
if(sz>0)
elements = new T[maxSize];
}

public:
~seqList()
{
delete[] elements;
}

int length() const
{
return curSize +1;
}
//int find(T x) const;
//int isElement(T x) const;
//int insert(T x,int i);
//int remove(T x);
int isEmpty();

private:
int maxSize;
int curSize;
T *elements;
};
--------------- 实现

#include "StdAfx.h"
#include "seqList.h"

template<typename T> int seqList<T>::isEmpty()
{
if(curSize == -1)
return 1;
return 0;

}


为什么一调用isEmpty就报这个错误啊?
...全文
162 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sjtubn 2012-11-21
  • 打赏
  • 举报
回复
模板类的定义和实现,你必须放在一个文件里面。
Saingel 2012-11-21
  • 打赏
  • 举报
回复
模板类全放头文件,具体原因等你了解编译过程自然会了解
JianDom 2012-11-21
  • 打赏
  • 举报
回复
可以把isEmpty 定义与全局的 然后把seqList<T>& 当参数传进去
蜡笔小新啦 2012-11-21
  • 打赏
  • 举报
回复
这么蛋疼啊。一定要放一个文件中吗?
JianDom 2012-11-21
  • 打赏
  • 举报
回复
isEmpty是 seqList<T>的成员 要在seqList<T>里声明
qin_zhu 2012-11-21
  • 打赏
  • 举报
回复
引用 楼主 pengliangchina 的回复:
----------------- 头文件 #pragma once #include <iostream> using namespace std; const int defaultSize=100; template<typename T> class seqList { public: seqList(int sz=defaultSize):maxSi……
确实像楼上所说的,只好放到一个文件中
rjliulei 2012-11-21
  • 打赏
  • 举报
回复
模板类的定义和实现必须在同一个文件中,不然编译通不过。这是龟腚。。。
微型蚂蚁 2012-11-21
  • 打赏
  • 举报
回复
分开放就会报错, 具体原因我也不清除
微型蚂蚁 2012-11-21
  • 打赏
  • 举报
回复
放到.h文件里
蜡笔小新啦 2012-11-21
  • 打赏
  • 举报
回复
报错的意思就是说没有实现那个类函数嘛,但是我在.cpp中实现了啊? 为什么没有解析到呢?

64,647

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧