VS2017找不到指定文件,百度一直未解决【30人民币悬赏】
本帖最后由 爱学习520 于 2020-8-8 19:33 编辑百度了一下午,都没法解决这个,求大佬 ,用我写的类,那就这样,如果main里面没有调用我写的Vector类,就没有这个问题。希望可以帮我远程看看,因为我从下午2点搞到现在晚上7:30,实在不想试了,远程解决我发30小红包,小小心意,真心求帮忙,解决不了了 QQ:3423014389
按照10楼修改的然后是这样的页面,麻烦10楼楼主看一下,第二张图片 这个方法试过吗?
https://blog.csdn.net/eagle_or_snail/article/details/80397959 zltzlt 发表于 2020-8-8 15:46
这个方法试过吗?
https://blog.csdn.net/eagle_or_snail/article/details/80397959
这个试过,没有用 下面写着了,生成失败。
把 第2行的#include "Vector.h"改成#include "Vector.cpp" 还有,把你的 Vector.cpp 发上来 永恒的蓝色梦想 发表于 2020-8-8 15:48
下面写着了,生成失败。
把 第2行的改成
改为整个程序界面调转到其他莫名其妙的界面了,并且程序终止 爱学习520 发表于 2020-8-8 15:52
改为整个程序界面调转到其他莫名其妙的界面了,并且程序终止
?发截图 永恒的蓝色梦想 发表于 2020-8-8 15:49
还有,把你的 Vector.cpp 发上来
这个在devcpp里面没有问题,这个程序还没有写完
#include<iostream>
#include <string.h>
#define SUCCESS 1 // 成功
#define ERROR -1 // 失败
#define MALLOC_ERROR -2 // 申请内存失败
#define INDEX_ERROR -3 // 错误的索引号
using namespace std;
template<class T_ELE>
Vector<T_ELE>::Vector():InitSize(100), Increment(5)
{
//分配空间
pVector = new T_ELE(InitSize);
//初始化
memset(pVector, 0, InitSize * sizeof(T_ELE));
//其他变量初始化
Len =InitSize;
Index = 0;
}
template<class T_ELE>
Vector<T_ELE>::Vector(int size)
{
//分配空间
pVector = new T_ELE(size);
//初始化
memset(pVector, 0, size * sizeof(T_ELE));
//其他变量初始化
Len = size;
Index = 0;
}
template<class T_ELE>
Vector<T_ELE>::~Vector()
{
//释放类对象里面申请的空间
delete []pVector;
pVector=NULL;
}
template<class T_ELE>
int Vector<T_ELE>::push_back(T_ELE Element)
{
//判断是否需要增容
if(Index>=Len)
{
expand();
}
//将新元素放到最后一个位置
memcpy(&pVector,&Element,sizeof(T_ELE));
//修改索引
Index++;
//返回成功
return SUCCESS;
}
//扩容
template<class T_ELE>
bool Vector<T_ELE>::expand()
{
int tlen;
int* pNew;
//计算增加后的长度
tlen=Len+Increment;
//申请现在需要的空间
pNew=new T_ELE(tlen);
//将数据复制到新空间
memcpy(pNew,pVector,Len*sizeof(T_ELE)) ;
//释放原来的空间
delete []pVector;
pVector=pNew;
pNew=NULL;
//修改其他变量值
Len=tlen;
return SUCCESS;
}
//插入数据
template<class T_ELE>
int Vector<T_ELE>::insert(int index, T_ELE Element)
{
//判断索引是否在合理区间
if(index<0||index>Index)
return INDEX_ERROR;
//判断是否需要扩容
if(Index>=Len)
expand();
//将索引后面的元素全部后移
for(int i=Index;i>index-1;i--)
memcpy(&pVector,&pVector,sizeof(T_ELE));
//将元素插入对应的位置
memcpy(&pVector,&Element,sizeof(T_ELE));
//修改其他对应的参数
Index++;
}
//测试函数
void TextVector()
{
Vector<int>* p=new Vector<int>(5);
p->push_back(1);
p->push_back(2);
p->push_back(3);
p->push_back(4);
p->push_back(5);
p->push_back(6);
}
int main()
{
TextVector();
return 0;
}
永恒的蓝色梦想 发表于 2020-8-8 15:52
?发截图
回复怎么发截图阿 爱学习520 发表于 2020-8-8 15:57
回复怎么发截图阿
imgchr.com 永恒的蓝色梦想 发表于 2020-8-8 15:59
imgchr.com
我试了其他的,.h才是正确的方式,不是CPP,不是这个的问题,你哪个显示无法加载符号,生成新的页面的同时,整个程序都卡死了 永恒的蓝色梦想 发表于 2020-8-8 15:59
imgchr.com
截图表示不会发,你哪个什么.com实在表示不知道是啥,没怎么用过论坛 爱学习520 发表于 2020-8-8 16:07
截图表示不会发,你哪个什么.com实在表示不知道是啥,没怎么用过论坛
……上传图片,给我发过来 本帖最后由 baige 于 2020-8-8 16:15 编辑
类的声明写成.h的文件把,
把Vector.cpp删除,新建一个头文件把Vector类的声明放进去试试 {:10_277:} 应该是可以的,楼主可以了吗{:10_277:} baige 发表于 2020-8-8 16:13
类的声明写成.h的文件把,
把Vector.cpp删除,新建一个头文件把Vector类的声明放进去试试
声明类的时候,这个Vector.cpp和.h是自动生成的,Vector.h里面放的是函数声明,Vector.cpp里面放的是.h里面对应函数的实现,这个以前一直这样都没有问题 baige 发表于 2020-8-8 16:13
类的声明写成.h的文件把,
把Vector.cpp删除,新建一个头文件把Vector类的声明放进去试试
你的意思是要我把所有.cpp 的函数实现写在.h吗
爱学习520 发表于 2020-8-8 16:50
你的意思是要我把所有.cpp 的函数实现写在.h吗
如果是把所有的Vector.cpp函数的实现直接写在Vector.h的话,那要程序看上去一点都不清楚,还是声明和实现在不同文件里面号,你这样的话并没有解决问题阿,不知道我理解错你的意思没有
页:
[1]
2