2016-11-12 90 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。並不是每個人都有專業知識和經驗。至少這樣,更多的人可以學習和維護他們的問題以供審查。 恩,謝謝你,弗拉德,我會確保把它作爲我的其他程序的心理記錄。你是男人! –