2015-10-01 3 views
-2

Я получаю ошибку, когда объявляю массив. Почему это происходит и как я могу это исправить? Я не могу объявить массив без выброса этой ошибки. Я пытался использовать вектор <> ранее до этого. Я ищу, чтобы создать массив строк. Я искал эту ошибку в google и почти для всех, кого я видел, это была синтаксическая ошибка, переключаясь на код i.e "[] array" вместо "array []". Здесь я поставил синтаксис массива в правильном порядке, но я все еще получаю эту ошибку. ThanksОжидаемый неквалифицированный идентификатор до «случая»

int main() 
{ 
    const string case[3]; //<- Error right here before 'case' 
    int selection; //choice to open skin 
    srand(time(0)); 
    int skinChance; //The number that determines the skin quality 
    while(true) 
    { 
     cout << "Open Case \n"; 
     cin >> selection; 
     if(selection == 1) 
     { 
      skinChance = rand()%10; 
      if (skinChance <= 5) 
      { 
       //Blue Skin 
      } 
      else if (skinChance >= 6 && skinChance <= 9) 
      { 
       //Purple/Pink Skin 
      } 
      else if (skinChance == 10) 
      { 
       //Red Skin 
      } 

     } 
     else 
     { 
      cout << "Not valid\n"; 
     } 
    } 
} 
+1

Если некоторые из ответов решили вашу проблему, отметьте ее как принятую, вместо редактирования своего названия. SO - это другое, а не форум. –

ответ

2

case - это защищенное ключевое слово в C++, так как оно необходимо для операторов case-switch. Вы не можете использовать его как имя переменной.

+0

Спасибо, извините за мое невежество. –

2

Вы не можете использовать case как имя переменной. case является ключевое слово C++. Поскольку они используются языком, эти ключевые слова недоступны для переопределения или перегрузки.

Здесь вы можете найти list всех ключевых слов, используемых в C++.

+0

Спасибо, извините за мое невежество. –

1

case - это ключевое слово согласно стандарту C/C++.

switch(arg){ 
    case arg1: 
    //some statements 
    break; 
} 
Смежные вопросы