Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;类向量问题_C++_Vector - Fatal编程技术网

C++ C++;类向量问题

C++ C++;类向量问题,c++,vector,C++,Vector,好的,我正在开发这个库存程序,在这个程序中,应该发生的是用户输入关于特定产品的各种信息,然后将其传递到库存,同时给用户机会更改内容(如代码中所示)。因为我是为了一个学校项目而做这件事的,所以我必须要有各种各样的课程(因此我还没有摆脱它们) 现在我的问题是关于类目录中的向量 错误'std::vector>AddProduceToInventory(std::vector)':无法将参数1从'std::vector>'转换为'std::vector>' 这个问题适用于类中的每个向量。我只复制了一个相

好的,我正在开发这个库存程序,在这个程序中,应该发生的是用户输入关于特定产品的各种信息,然后将其传递到库存,同时给用户机会更改内容(如代码中所示)。因为我是为了一个学校项目而做这件事的,所以我必须要有各种各样的课程(因此我还没有摆脱它们)

现在我的问题是关于类目录中的向量

错误'std::vector>AddProduceToInventory(std::vector)':无法将参数1从'std::vector>'转换为'std::vector>'

这个问题适用于类中的每个向量。我只复制了一个相同的错误

我不知道我还应该做什么。这是我的代码(对不起,太长了!)

#包括
#包括
#包括
#包括
使用名称空间std;
类项目{
公众:
无效设定价格(整数PRCINDLLS){
priceInDollars=prCindlls;//不知何故,我需要不断地将这些总数相加,以得到一个总的价格。
}
void SetItemPrice(int任意值){
itemsPrice=无论什么;
}
void SetName(字符串nm)
{
名称=纳米;
};
无效设置数量(整数qnty)
{
数量=qnty;
};
virtual void Print()//这是我的打印问题
{
};
虚拟项()
{
返回;
};
受保护的:
字符串名;
整数数量=0;
int priceInDollars=0;
int itemsPrice=0;
};
类生成:公共项{//派生自项类
公众:
void SetExpiration(字符串过期)
{
到期=到期;
};
作废打印()
{

cout您的大多数函数在某种程度上类似于此:

void foo() {
    std::vector<T> foo(std::vector<T> bar){
        /*...*/
    }
}
void foo(){
标准::向量foo(标准::向量条){
/*...*/
}
}
看起来您试图在函数中声明一个函数(使用相同的名称但不同的参数和返回类型,有时缺少返回类型)。请不要这样做,只需执行以下操作:

std::vector<T> foo(std::vector<T> bar){
    /*...*/
}
std::vector foo(std::vector bar){
/*...*/
}

在函数
void AddItemToInventory()中
首先声明一个向量
AddProduceToInventory
,然后在该函数中,您似乎要声明一个名为
AddProduceToInventory
的函数。函数中的函数不起作用。我刚刚意识到,您的大多数函数都有这种结构。为什么要这样做?我正在/正在尝试转换普通函数我想你的意思是自由函数对成员函数,确切地说就是自由函数。
std::vector<T> foo(std::vector<T> bar){
    /*...*/
}