You've answered 0 of 160 questions correctly. (Clear)

Question #42 Difficulty: 2

According to the C++17 standard, what is the output of this program?

    #include <initializer_list>
#include <iostream>

struct A {
  A() { std::cout << "1"; }

  A(int) { std::cout << "2"; }

  A(std::initializer_list<int>) { std::cout << "3"; }

int main(int argc, char *argv[]) {
  A a1;
  A a2{};
  A a3{ 1 };
  A a4{ 1, 2 };


How greedy are initializer-list constructors?


Problems? View a hint or try another question.

I give up, show me the answer (make 3 more attempts first).

Mode : Training

You are currently in training mode, answering random questions. Why not Start a new quiz? Then you can boast about your score, and invite your friends.


Create your own!

Android app

Get Sergey Vasilchenko's CppQuiz Android app.