From 4ad2d10cc0c1fdd7ed643c640885994dd0b31d85 Mon Sep 17 00:00:00 2001 From: Gauthier Billot Date: Tue, 25 Apr 2017 10:29:50 +0200 Subject: [PATCH] Added narrowing example in braced list syntax --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index 7ee484d..1bc371e 100644 --- a/README.md +++ b/README.md @@ -980,6 +980,16 @@ A c = {0, 0}; // calls A::A(int, int) A d{0, 0, 0}; // calls A::A(int, int, int) ``` +Note that the braced list syntax does not allow narrowing: +```c++ +struct A { + A(int) {} +}; + +A a(1.1); // OK +A b{1.1}; // Error narrowing conversion from double to int +``` + Note that if a constructor accepts a `std::initializer_list`, it will be called instead: ```c++ struct A {