C++ : constructor initialization list for an array?

arrays, c++

Solution

No, prior to C++11 you need to do just this to default-initialise each element of the array:

: _mydata()

The way you have it written won't work.

With C++11 it is more recommended use uniform initialisation syntax:

: _mydata { }

And that way you can actually put things into the array which you couldn't before:

: _mydata { 1, 2, 3 }

Problem

I have a basic question. I have a class with a data member : `double _mydata[N]`. (N is a template parameter). What is the syntax to initialize these data to zero with a constructor initialization list ? Is `_mydata({0})` OK according to the C++ standard (and so for all compilers) ? Thank you very much.

Original source