2016-11-12 92 views
-1

我是新的数组,我在这里写了这段代码,我认为我已经正确完成了所有语法。但是,我得到一个字符串未声明的标识符

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; 
} 

我抬起头,对这里的错误,但是,他们已经拿出了解决方案,以增加其中大部分人忘记了,但是我没有忘记的原型,它仍然给出了错误?谁能帮忙?

+0

只是'#include '会为您解决这个问题。 –

+0

在原型之前放置'using namespace std;'。 –

+0

@ MoeAbdul-Hameed:或者将该类型称为“std :: string”。 –

回答

-1

兑换这些语句

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); 

也初始化变量总

和更新错字

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

而且您可以删除功能getJars中的return语句,因为该函数的返回类型为void,并且return语句对此函数不是必需的。

+0

哦!哇,你能告诉我为什么它那样吗?另外为什么我的帖子是一个坏问题?我认为这是一个相关的问题,人们可以搜索>为什么我得到了投票? –

+0

@ V.Martins有很多参与者只有回答问题,而不是回答他们。:) –

+0

这真的很难过,他们应该找到一种方法来解决这个问题,或者至少限制downvotes以首先尝试回答问题你决定downvote。并不是每个人都有专业知识和经验。至少这样,更多的人可以学习和维护他们的问题以供审查。 恩,谢谢你,弗拉德,我会确保把它作为我的其他程序的心理记录。你是男人! –