@Nikita1244
Anonymous

Как вернуть несколько значений из функции?

Здравствуйте, пытаюсь написать функцию для генерации чисел, и надо вернуть 3 переменные из функции. Но получается вернуть только одну. Как вернуть несколько переменных из функции в С++?

Вот код:
#include <random>
#include <iostream>

using namespace std;

int generator() {
    random_device random_device;
    mt19937 generator(random_device());

    uniform_int_distribution<> distribution(1, 10);

    int x = distribution(generator);
    int c = distribution(generator);
    int answer = x * c;
    return answer, x,  c;
}

int main() {
    cout << generator();
    
}
  • Вопрос задан
  • 2202 просмотра
Решения вопроса 1
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
Кроме параметров функции, можно возвращать структуру с именованными значениями или std::vector или std::touple.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Можно вернуть через параметры функции
void generator(int& answer, int& x, int& c)

Например, так
#include <random>
#include <iostream>

using namespace std;

void generator(int& answer, int& x, int& c) {
    random_device random_device;
    mt19937 generator(random_device());

    uniform_int_distribution<> distribution(1, 10);

    x = distribution(generator);
    c = distribution(generator);
    answer = x * c;
}

int main() {
    int answer, x,c;
    generator(answer, x,c);
    cout << answer << " " << x << " " << c;
    
}
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы