Почему инициализация значения «int * ptr = int ()» не является незаконной?

Следующий код (взят отсюда ):

int* ptr = int();

компилируется в Visual C ++ и инициализирует значение указатель.

Как такое возможно? Я имею в виду, что int () дает объект типа int , и я не могу назначить int указателю.

Почему приведенный выше код не является незаконным?

86
задан Community 23 May 2017 в 11:53
поделиться