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

C++ 字符串未声明标识符

C++ 字符串未声明标识符,c++,arrays,C++,Arrays,我是数组新手,我在这里写了这段代码,我认为我已经正确地完成了所有语法方面的工作。然而,我得到了一个 C2065“字符串”:未声明的标识符 正如你们所看到的,我已经设置了原型,但它仍然会给出那个错误 #include<iostream> #include<string> //Prototypes: void getJars(string[], int[], int); int getTotal(string[], int[], int); using namespace

我是数组新手,我在这里写了这段代码,我认为我已经正确地完成了所有语法方面的工作。然而,我得到了一个

C2065“字符串”:未声明的标识符

正如你们所看到的,我已经设置了原型,但它仍然会给出那个错误

#include<iostream>
#include<string>

//Prototypes:
void getJars(string[], int[], int);
int getTotal(string[], int[], int);

using namespace std;

int main() {

    string salsa[] = { "Mild", "Medium", "Sweet", "Hot", "Zesty" };
    const int NUM = 5;

    int jars[NUM];

    getJars(salsa, jars, NUM);
    getTotal(salsa, jars, NUM);



    return 0;
}

void getJars(string salsa[], int jars[], int NUM) {



cout << "Salsa Sales Calulator...\n";
cout << "------------------------\n";
    for (int i = 0; i < NUM; i++) {

        cout << "Please Insert the Jar Amount for Each Salsa: ";
        cout << salsa[i];
        cout << " ";
        cin >> jars[i];

        cout << endl;
    }


    return;
}
int getTotal(string salsa[], int jars[], int NUM) {

    int total;

    for (int i = 0; i < NUM; i++) {

        total += jars[i];
    }

    return total;
}
#包括
#包括
//原型:
void getJars(字符串[],int[],int);
int getTotal(字符串[],int[],int);
使用名称空间std;
int main(){
串萨尔萨[]={“温和”、“中等”、“甜”、“辣”、“辣”};
常数int NUM=5;
int-jars[NUM];
getJars(莎莎酱、罐子、NUM);
getTotal(莎莎酱、罐装、NUM);
返回0;
}
void getJars(字符串salsa[],int-jars[],int-NUM){

不能交换这些陈述吗

void getJars(string[], int[], int);
int getTotal(string[], int[], int);

using namespace std;
应该是

using namespace std;

void getJars(string[], int[], int);
int getTotal(string[], int[], int);
还要初始化变量total

int getTotal(string salsa[], int jars[], int NUM) {

    int total = 0;
    ^^^^^^^^^^^^^

    for (int i = 0; i < NUM; i++) {

        total += jars[i];
    }

    return total;
}
int getTotal(字符串salsa[],int jars[],int NUM){
int-total=0;
^^^^^^^^^^^^^
for(int i=0;i
并更新打字错误

cout << "Salsa Sales Calculator...\n";
                     ^^^^^^^^^^^

cout just
#include
将为您解决此问题。将
使用名称空间std;
放在原型之前。@Moabdul Hameed:或者将类型称为
std::string
@KeithThompson对,谢谢!噢!哇,您能告诉我为什么会是这样吗?为什么我的帖子是一个糟糕的问题?我认为这是一个相关的问题,人们会问could search up>为什么我被否决了???@V.Martins有很多参与者只是否决了投票问题,而不是回答问题。:)这真是悲哀,他们真的应该找到一种方法来解决这个问题,或者至少限制否决票在你决定否决投票之前先尝试回答问题。不是每个人都有所有的专业知识和经验。a至少这样,更多的人可以学习并保留他们的问题供审查。好吧,谢谢你,弗拉德,我会确保将此作为我的其他程序的备忘。你就是那个人!@V.Martins没问题。我将投票表决你的问题。:
使用名称空间std
设置函数声明是一个非常糟糕的主意。这将是最好将
string
完全限定为
std::string
,尤其是那些声明放在头文件中时。