При компиляции открывается консоль, которая выводит два отрицательных восьмизначных числа. Что не так?
#include <iostream>
using namespace std;
pair<int, int> sumdif(int a, int b){
return pair<int, int>(a + b, a - b);
}
int main() {
int a = 5;
int b = 7;
int c, d;
pair <int, int>(c,d) = sumdif(a, b);
cout << c << endl << d;
system("pause");
}
pair <int, int>(c,d) = sumdif(a, b);
Тут у вас создана временная пара, которая получила значение и тут же потеряна...
Вот варианты:
auto p = sumdif(a, b);
cout << p.first << " " << p.second << endl;
Для С++17 можно так:
auto [c,d] = sumdif(a, b);
cout << c << " " << d << endl;;
Экзотика с вашей парой - вывод только одного поля:
cout << (pair<int,int>(c,d) = sumdif(a, b)).first;
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Пытаюсь получить доступ к уже существующей bd через Room, но при выполнении кода просходит ошибка
Нужно при нажатии "Enter" скрыть клавиатуруВсё работает, но при закрытии клавиатуры каретка переходит на новую строку