Я читал о сужении конверсии на справочном сайте cpp. Я как бы понял это, но я не понимаю, почему ошибка присутствует только в первой строке.
long double ld = 3.1415926536;
int a{ld}, b = {ld}; // error: narrowing conversion required
int c(ld), d = ld; // ok: but value will be truncated
Почему ошибка присутствует только в первой строке, а не во второй?