Я прохожу через ряд Q & A, чтобы уклониться от повторяющегося кода и упростить управление запрошенными вопросами.C++ - Использование переменной в качестве имени переменной в getline
Не намного больше, я могу сказать, пока не увидите пример:
string nameOfUser, nameOfCourse; // define
string varNames [] = { nameOfUser, nameOfCourse };
string varDesc [] = { "Please enter your name:", "Please enter the course name:" };
for (int i = 0; i < 2; i++)
{
cout << varDesc[i] << endl;
getline(cin, varNames[i]);
cout << endl;
}
Приведенный выше код в конечном счете, ничего не производит из пользовательского ввода.
Я считаю, что проблема заключается в попытке зацикливать массив varNames
в getline
. Кажется, что он думает, что varNames[i]
- это имя самой переменной. Я предположил, что на раннем этапе я буду печатать соответствующее значение при зацикливании, но это, очевидно, не так.
Проще говоря, можно ли просто использовать значение переменной как имя переменной, или это невозможность с точки зрения getline
?
Я не думаю о «именах переменных переменных» здесь (я понимаю, что это невозможно в C++), но, как я вижу, он должен иметь возможность использовать значения в массиве varNames
при циклировании.
Что такое 'nameOfUser'? Вы не показываете его, и ваш код не будет компилироваться без него. –
@John Zwinck. Это определено ранее в программе, я продолжу и включу его в пример, чтобы быть понятным. –