Member 13465484 Ответов: 1

Как вызвать массив в main, который хранится в другой функции


Моя проблема заключается в создании функции или хранении их в функции, но вызове этих массивов для приведения в main. Поэтому я создал функцию и начал с самого маленького массива, чтобы посмотреть, смогу ли я сначала заставить ее работать, прежде чем принести что-то еще. К сожалению, это не сработало, я перенес массив и его содержимое в функцию и попытался вызвать этот конкретный массив и ввести в основной. Программа, которую я чувствовал, была слишком большой, чтобы поместить все это.

Что я уже пробовал:

void instructions();
void InitializeVars();
void HeroInventory();
void PlayGame();

int main()

void InitializeVars()
{
   string WrongChoice[1]; 
                
   WrongChoice[0] = "Sorry that is not a valid input please chose 1 or 2: "; 
}
     while( choice != 1 && choice != 2) 
      { 
        cout << InitializeVars(WrongChoice[0]) << endl; 
        cin >> choice; 
      } 

1 Ответов

Рейтинг:
2

User 59241

Массив Wrongchoice[] виден только в InitializeVars (), потому что вы поместили его туда Область действия переменной в C++[^]. Чтобы сделать его более заметным, поместите его снаружи InitializeVars () и внутри main ().
Смотреть также: Видимость имени - учебники по C++ [^]


Member 13465484

Я сделал его глобальной переменной, но я даже попробовал в main, и он все еще давал мне много ошибок о том, чтобы сделать это как InitializeVars(WrongChoice[0]). Я попробовал просто WrongChoice[0], и он скомпилировался, но потом ничего не сделал.

[no name]

Информация, предоставленная вам, относится к приведенному вами примеру кода. Как вы его применяете, зависит от вас, и если вы не предоставите больше информации, мы не сможем узнать, в чем ваша проблема. Пожалуйста, будьте ясны в отношении фактической проблемы и произведенных ошибок.