dimanche 25 décembre 2016

Why narrowing conversion warning appears only in case of initializer list?

I have the following code:

class A {
    public:
        A(const unsigned int val) : value(val) {};

        unsigned int value;
};

int main() {
    int val = 42;
    A a(val);
    A b{val}; // <--- Warning in GCC, error in MSVS 2015

    return 0;
}

My questions is why narrowing conversion warning appears only in case of initializer list usage?

Aucun commentaire:

Enregistrer un commentaire