Visual Studio 2015 Update 3. C++11\C++14.
For int:
constexpr int ci1 {50};
constexpr int ci2 {500};
char c1 {ci1}; // OK
char c2 {ci2}; // compilation error
I.e. the universal and uniform initialization can check the value in the compilation mode (from int to char). This case was mentioned by Bjarne Stroustrup in his book.
I expected that this is true for case double to int,but it doesn't work for Visual Studio 2015 Update 3:
constexpr double cd {4.0};
int i1 {cd}; // compilation error
Is it correct behaviour (for my second code example) or maybe it is specific for Visual Studio?
Aucun commentaire:
Enregistrer un commentaire