Reputation: 43
I have the following code (header file):
class InnerClass
{
InnerClass(int var);
}
class BigClass
{
BigClass();
InnerClass member(5);
}
How can I initialize the parameter of member in BigClass to 5 (the above code generates an error, as you probably guessed)? If I put the InnerClass member(5) line in the code (not header) file, then no problem.
Upvotes: 4
Views: 91
Reputation: 172924
You could initialize the member variable BigClass::member
by in-class brace-or-equal initializer (since c++11):
InnerClass member{5};
class BigClass
{
InnerClass member;
public:
BigClass() : member(5) {}
// or... BigClass(int var) : member(var) {}
}
BTW: I suppose the constructor of InnerClass
should be public.
Upvotes: 4