Глобальные переменные или передача параметров? С++ - вопрос №2416562

Пишу программу, и переменных у меня в районе 30. Использоваться они будут в порядка 20 подфункций(решается огромная система нелинейных уравнений). Как я понимаю варианта 2:
1) сделать их глобальными и задать вне тел функций
и 2) задать их значения локально (вбиваются с консоли) в теле main функции и передавать их ссылками в другие подфункции ( main2(int a, int b) итд), что учитывая количество переменных и количество функций, где они используются колоссально захламит текст программы).
Читал, что вообще стоит избегать глобальные переменные, выходит остаётся только второй вариант?

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

Приведу пример:

#include <iostream> #include <iomanip> #include <fstream> #include <vector> using namespace std; struct znach { int a ; }; void main2(); void main() { znach k ; cin >> k.a; cout << «pokazat' a » << k.a; main2(); system(«pause»); } void main2() { znach p; cout << «pokazat a-2» << p.a; }
Выдает ошибку: использована неинициилизированная локальная переменная «p».

Как наиболее рационально и правильно задать переменные?
16.04.17
0 ответов
Вопрос закрыт
Посмотреть всех экспертов из раздела Технологии > C/C++
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store