Тип переменной, автоматическое значение

Рейтинг: 0Ответов: 0Опубликовано: 24.03.2023

Всем привет, начал изучать template. И вот столкнулся с такой делемой. Написал я шаблонную функцию для свапа значения a->b, b->a. Она принимает любое значение. Так вот, суть моего вопроса. У меня есть main.В нем я хочу объявить переменную не int, double или же string, а чтобы когда я пытался что-то записать в нее в стандартном потоке ввода cin, компилятор сам присвоил бы этой переменной тип данных. Я погуглил, нашел такой тип данных как auto, но если написать auto temp; std::cin >> temp; Выдаст ошибку. Хочу что-то наподобие ниже.

template<typename T>
void swap(T &a, T &b) {
    T temp;
    temp = b;
    b = a;
    a = temp;
}
int main() {
    auto temp1, temp2;
    std::cin >> temp >> temp2;
    swap(temp1, temp2);
    std::cout << "temp1:" << temp1 << " temp2:" << temp2 << '\n';
}

Ответы

Ответов пока нет.