爱学习520 发表于 2020-8-8 15:44:32

VS2017找不到指定文件,百度一直未解决【30人民币悬赏】

本帖最后由 爱学习520 于 2020-8-8 19:33 编辑

百度了一下午,都没法解决这个,求大佬 ,用我写的类,那就这样,如果main里面没有调用我写的Vector类,就没有这个问题。希望可以帮我远程看看,因为我从下午2点搞到现在晚上7:30,实在不想试了,远程解决我发30小红包,小小心意,真心求帮忙,解决不了了   QQ:3423014389

按照10楼修改的然后是这样的页面,麻烦10楼楼主看一下,第二张图片

zltzlt 发表于 2020-8-8 15:46:29

这个方法试过吗?

https://blog.csdn.net/eagle_or_snail/article/details/80397959

爱学习520 发表于 2020-8-8 15:47:21

zltzlt 发表于 2020-8-8 15:46
这个方法试过吗?

https://blog.csdn.net/eagle_or_snail/article/details/80397959

这个试过,没有用

永恒的蓝色梦想 发表于 2020-8-8 15:48:33

下面写着了,生成失败。

把 第2行的#include "Vector.h"改成#include "Vector.cpp"

永恒的蓝色梦想 发表于 2020-8-8 15:49:23

还有,把你的 Vector.cpp 发上来

爱学习520 发表于 2020-8-8 15:52:06

永恒的蓝色梦想 发表于 2020-8-8 15:48
下面写着了,生成失败。

把 第2行的改成

改为整个程序界面调转到其他莫名其妙的界面了,并且程序终止

永恒的蓝色梦想 发表于 2020-8-8 15:52:39

爱学习520 发表于 2020-8-8 15:52
改为整个程序界面调转到其他莫名其妙的界面了,并且程序终止

?发截图

爱学习520 发表于 2020-8-8 15:56:05

永恒的蓝色梦想 发表于 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;
}

爱学习520 发表于 2020-8-8 15:57:43

永恒的蓝色梦想 发表于 2020-8-8 15:52
?发截图

回复怎么发截图阿

永恒的蓝色梦想 发表于 2020-8-8 15:59:28

爱学习520 发表于 2020-8-8 15:57
回复怎么发截图阿

imgchr.com

爱学习520 发表于 2020-8-8 16:05:57

永恒的蓝色梦想 发表于 2020-8-8 15:59
imgchr.com

我试了其他的,.h才是正确的方式,不是CPP,不是这个的问题,你哪个显示无法加载符号,生成新的页面的同时,整个程序都卡死了

爱学习520 发表于 2020-8-8 16:07:15

永恒的蓝色梦想 发表于 2020-8-8 15:59
imgchr.com

截图表示不会发,你哪个什么.com实在表示不知道是啥,没怎么用过论坛

永恒的蓝色梦想 发表于 2020-8-8 16:07:43

爱学习520 发表于 2020-8-8 16:07
截图表示不会发,你哪个什么.com实在表示不知道是啥,没怎么用过论坛

……上传图片,给我发过来

baige 发表于 2020-8-8 16:13:39

本帖最后由 baige 于 2020-8-8 16:15 编辑

类的声明写成.h的文件把,
把Vector.cpp删除,新建一个头文件把Vector类的声明放进去试试

baige 发表于 2020-8-8 16:35:08

{:10_277:}

baige 发表于 2020-8-8 16:40:46

应该是可以的,楼主可以了吗{:10_277:}

爱学习520 发表于 2020-8-8 16:41:41

baige 发表于 2020-8-8 16:13
类的声明写成.h的文件把,
把Vector.cpp删除,新建一个头文件把Vector类的声明放进去试试

声明类的时候,这个Vector.cpp和.h是自动生成的,Vector.h里面放的是函数声明,Vector.cpp里面放的是.h里面对应函数的实现,这个以前一直这样都没有问题

爱学习520 发表于 2020-8-8 16:50:38

baige 发表于 2020-8-8 16:13
类的声明写成.h的文件把,
把Vector.cpp删除,新建一个头文件把Vector类的声明放进去试试

你的意思是要我把所有.cpp 的函数实现写在.h吗

baige 发表于 2020-8-8 16:51:50


爱学习520 发表于 2020-8-8 16:52:55

爱学习520 发表于 2020-8-8 16:50
你的意思是要我把所有.cpp 的函数实现写在.h吗

如果是把所有的Vector.cpp函数的实现直接写在Vector.h的话,那要程序看上去一点都不清楚,还是声明和实现在不同文件里面号,你这样的话并没有解决问题阿,不知道我理解错你的意思没有
页: [1] 2
查看完整版本: VS2017找不到指定文件,百度一直未解决【30人民币悬赏】