永发信息网

c++错误 is not a member of vector

答案:4  悬赏:20  手机版
解决时间 2021-03-12 09:26
帮忙看一下代码吧 有一个错误 编译不通过
//test.h
#include
using std::vector;

#define DEFAULT_CAPACITY 3
template class Vector
{
public:
Vector( int c = DEFAULT_CAPACITY, int s = 0, T v = 0)
{
_elem = new [_capacity = c];
for(_size = 0; _size < s; _elem[_size++] = v);

}

~Vector()
{
delete[] _elem;
}

int disordered() const;
};

//test.cpp
#include
#include
using namespace std;
using std::vector;

#include "test.h"

template int Vector::disordered() const
{
int n = 0;
for(int i = 1; i < _size; i++)
{
if(_elem[i-1] > _elem[i])
n++;
}
return n;

}

//2.17.cpp(main函数测试)

#include
#include
using namespace std;
using std::vector;

#include "test.h"

int main()
{
vector a(10,3);

cout<
return 0;

}

最后报错:
C:\Users\Administrator\Desktop\2.17.cpp(15) : error C2039: 'disordered' : is not a member of 'vector >'
最佳答案
模板类不能分成.h和.cpp来写,必须写在一个文件中
全部回答
你定义一个Vector类,disordered也是这个类的成员函数,你在main函数里使用是vector,disordered不是vector的成员函数,所以报错
就是用简单的循环就可以了 int ilength = a.length(); for(int i = 0; i < ilength; i+3) { string strtmp = a.substr(i, 3); b.push_back(strtmp); }
你这个真是乱。 你的main.cpp为何使用了using std::vector?首先你的整个.h和.cpp的代码就是为了实现一个自定义的Vector类(注意V是大写),而main.cpp却在使用vector(注意v是小写),那么你的test.h还有什么意义呢? 我猜测你应该是想实现一个自定义的Vector类,那就使用它就OK了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
三伏天是几月
嵌顿性疝和绞窄性疝的主要区别是A.时间长短B.
中山北一路地址在什么地方,想过去办事
为什么有的人的后脑勺是扁的,有的是圆的
拉萨地图怎么样
煮饭焦了粤语怎么说
肼(N2H4)分子可视为NH3分子中的一个氢原子
天津客车变货车怎麽办需要什么手续
吉祥一路/明珠大道北(路口)在什么地方啊,我
带领我们到证券公司帮我们开户的人叫什么 他
在新公司环境跟人第一次见面时该聊些什么?
关于杜甫的资料``急`
微信更新最新版本5.3.1怎么能换成版本低的呢
全柴480的柴油机为什么耗油量大啊,,
淘宝客为什么有微信推广和qq推广
推荐资讯
今天的英语家庭作业是什么
哪里能买到van cleef arpels le pont des amo
红豆宾馆地址有知道的么?有点事想过去
有 用 过 日 神 喷 剂 吗?用 了 点 都 不 麻
鲜榨柠檬汁苦怎么办?
站在大桥上为何会有震感
[TVB][1985][季节][粤语无字幕][TV-MKV][FK]
菜阳 电视台主持人有叫王娜的吗
—Which of the two T-shirts will you take?
四个字中9在第二的成语有哪些
叶山地址有知道的么?有点事想过去
玛丽阿姨健康洗衣禹城店怎么去啊,有知道地址
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?