Инициализация auto переменных в c++

Как инициализировать переменную типа auto при помощи ввода с клавиатуры ? Я могу сделать так:

int x;
std::cin >> x

или так:

double y;
std::cin >> y;

Но например я хочу ввести число с клавиатуры и не знаю, буду ли я вводить целое число или дробное. На ум приходит только это:

auto x;
std::cin >> x;

Но так не компилируется.


Ответы (1 шт):

Автор решения: norix

auto принимает тип присваиваемого выражения, который должен быть очевиден компилятору ещё до исполнения.

В вашем примере auto вообще не инициализируется никаким выражением, оно просто объявляется, а далее просто идут инструкции cin, поэтому компилятор не знает какой тип туда определить.

В данном случае, тип ввода нужно будет определить вручную, динамически, т.к. вы заранее не знаете какой будет ввод.

→ Ссылка