Тип переменной, автоматическое значение
Всем привет, начал изучать 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';
}
Источник: Stack Overflow на русском