为什么这个列表初始化有效,而另一个无效?

时间:2021-04-06 00:41:38

标签: c++ uniform-initialization

前两个语句 int a{ ld }; int b = { ld }; 会产生编译器错误 C3297 并且不会编译,但带括号的第二个定义/初始化有效。为什么?

#include<iostream>
using namespace std;
int main()
{
    
    long double ld = 3.1415926536;

    int a{ ld };
    int b = { ld };
    int c(ld);
    int d = ld;

    std::cin.get();
    std::cin.get();
    return 0;

}

0 个答案:

没有答案