Как правильно вернуть параметр и передать в main C++?

Задали сделать небольшую игру, подскажите, как правильно вернуть параметр и передать значение, выбранное по циклу, в main? Какие данные передать в параметр и что вызвать в основной функции из функции createCharacter() ?

P.S. там есть ещё 2 функции void, их сюда не вставлял.

struct UserCharacter {
int x = 0;
int y = 0;
float health = 0;
int armor = 0;
int damage = 0;
};

static UserCharacter createCharacter(UserCharacter& character) {
using namespace std;
char ch;
cout << "******** Welcome to Dungeon & Dragon ********\n";
cout << "******* Select a chatacter class *******\n";
cout << "Press one to select a warrior or two to select a mage:\n ";
ch = _getwch();
do {
if (ch == 'w') {
UserCharacter character = { 10, 10, 125, 15, 11 };
cout << "Selected class - warrior\n";
}
else if (ch == 'm') {
UserCharacter charater = { 10, 10, 100, 10, 20 };
cout << "Selected class - mage\n";
}
return character;
} while (ch != ' ');
cout << "Try again\n";
}

int main() {
using namespace std;
createCharacter();
trainedGame();
system("pause");
return 0;
}
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
@res2001
Developer, ex-admin
static void createCharacter(UserCharacter& character) {
...
/* Возврат значений происходит через ссылку, переданную в параметре. 
В return ничего возвращать не нужно. 
Создавать другие объекты UserCharacter не нужно. */
character.x = 10;
character.y = 10;
...
}

int main() {
 UserCharacter character;
 ...
 createCharacter(character);
  ...
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы