I was wondering if anyone could tell me how I'm supposed to initialise a member array of objects, in the occasion that the object does not have a default constructor (i.e. requires parameters).
For example:
class Foo
{
public:
Foo() :
memberArray{bar(1), bar(3), bar(2)} // **The compiler doesnt like this**
{}
private:
Bar memberArray[3];
};
struct Bar
{
Bar(std::int32_t param1) { }
}
I'm using GCC 4.6.1, and compiling for c++11. Can anyone point out where I'm going wrong? (BTW. please don't suggest dynamically allocated memory, as I don't have it..)
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…