2016-11-12 7 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"; 
        ^^^^^^^^^^^ 

И вы можете удалить оператор return в функции getJars, потому что функция имеет тип возврата void, а инструкция return не требуется для этой функции.

+0

Ох! вау, не могли бы вы сказать мне, почему это так? Также почему у моего сообщения был плохой вопрос? Я подумал, что это важный вопрос, который люди могут найти> почему я проголосовал? –

+0

@ V.Martins Есть много участников, которые просто голосуют вместо ответов на них. :) –

+0

Это просто грустно, им действительно нужно найти способ исправить это или хотя бы ограничить downvotes, чтобы сначала попытаться ответить на вопрос, прежде чем вы решаете спуститься вниз. Не у всех есть опыт и опыт. По крайней мере, таким образом, больше людей могут изучать и поддерживать свои вопросы для обзора. Хорошо, спасибо, Влад, я обязательно позабочусь об этом как о мыслях для моих других программ. Вы человек! –

Смежные вопросы