Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.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++_Templates_C++11 - Fatal编程技术网

C++ c+中的一些错误+;

C++ c+中的一些错误+;,c++,templates,c++11,C++,Templates,C++11,我正在用c++11编写一个程序,我遇到了一些问题。我是C++ 11的新手,以前我在C开发过,但是我想熟悉C++的新设备。p> 下面我将向您介绍代码中有争议的部分,解释错误在哪里以及我得到的错误类型 #include <iostream> #include <ctime> #include <cstdio> #include <cstring> #include <cstdlib> #include <vector> #inc

我正在用c++11编写一个程序,我遇到了一些问题。我是C++ 11的新手,以前我在C开发过,但是我想熟悉C++的新设备。p> 下面我将向您介绍代码中有争议的部分,解释错误在哪里以及我得到的错误类型

#include <iostream>
#include <ctime>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <vector>
#include <map>
#include <algorithm>

using namespace std;

// A struct describing a product.
typedef struct Products
{
    string category;
    string name;
    float price;
} Product;

inline void scenario1(int num_cashiers)
{
    extern vector<Product> products; // It is a vector(a pseudo-second dimension) of products which will be used for each customer
    extern vector<vector<Product> products> customers; // A vector containing all customers
    vector<vector<vector<Product> products> customers> cashiers(num_cashiers); // A vector describing the supermarket cashiers declaring a queue of customers for each cashier

    ...

}
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
使用名称空间std;
//描述产品的结构。
typedef结构产品
{
字符串类别;
字符串名;
浮动价格;
}产品;
内联作废场景1(整数出纳)
{
extern vector products;//它是产品的向量(伪二维),将用于每个客户
extern vector customers;//包含所有客户的向量
向量出纳(num_cashiers);//描述超市出纳为每个出纳声明客户队列的向量
...
}
错误1:在函数scenario1(int num\u cashiers)的第二行:模板参数1无效

错误2:在函数scenario1(int num\u cashiers)的第二行:模板参数2无效

错误3:在函数scenario1(int num_cashiers)的第二行:在“;”之前的声明中输入无效代币

错误4:在函数scenario1(int num\u cashiers)的第三行:模板参数1无效

错误5:在函数scenario1(int num_cashiers)的第三行:模板参数2无效

错误6:在函数scenario1(int num\u cashiers)的第三行:模板参数1无效//再次出现相同错误

错误7:在函数scenario1(int num\u cashiers)的第三行:模板参数2无效//再次出现相同错误

错误8:在函数scenario1(int num_cashiers)的第三行:在“(”标记之前的声明中输入无效

那么,我错在哪里?我必须做些什么来修复错误


如果您能提供帮助,我将不胜感激。

我不确定在C++11中是否可以像您那样在声明中添加名称。正如@EdHeal所评论的,不应该在内联函数中使用extern

这应该起作用:

inline void scenario1(int num_cashiers) // why inline?
{
    vector<Product> products;
    vector<vector<Product>> customers; 
    vector<vector<vector<Product>>> cashiers(num_cashiers);

    ...

}
inline void scenario1(int num\u cashiers)//为什么是inline?
{
向量积;
矢量客户;
向量出纳(num_出纳);
...
}

我不确定在C++11中,您是否可以像以前那样在声明中输入姓名。应该类似于此
向量收银员
这到底是什么-
向量
?当您有需要时,请返回我们compile@EdHeal就我所知,你似乎是一种从不犯错或生来就有知识的上帝从你生命的一开始,每一个建议、回答或评论都会被接受(否则我不会寻求你的帮助),但我想看到一些尊重。尽管如此respects@Praetorian我想创建一种向量的向量。我不知道这是否是正确的方法。你有什么建议我做吗?我想这不会是内联的anyway@E要看,让他先说,然后再提上述ed错误我还有一些。为了解决它们(或者避免它们),我发现我必须将前两个向量声明为extern(我也不喜欢extern或static关键字)。此外,我已经编写了上述代码部分(如@FirstStep write),并且出现了我在帖子中提到的错误。最后,我使用了“inline”用于优化目的的关键字。@第一步感谢您愿意让我明白一些内容。@jim Cool。很高兴我们能够提供帮助。如果我的答案没有回答您的问题,请随意提问或编辑此问题:)