I'm using Visual Studios 2013 and I keep getting this error yet I don't understand why.
class CLI{
string commands[2] = {"create", "login"};
public:
void addCommand(), start(), getCommand(string);
};
The error:
error C2536: 'CLI::CLI::commands': cannot specify explicit initializer for arrays
congusbongus
15.1k8 gold badges83 silver badges105 bronze badges
2 Answers 2
Visual Studio 2013 is not completely C++11 compliant, so, like Tobias Brandt said, you'll need to use a constructor to initialize those members.
Braced init lists are a C++11 feature.
Sign up to request clarification or add additional context in comments.
Comments
I don't think that in-class member initializers are implemented in VC2013. Instead, initialize the array in a constructor. For example:
class CLI{
string commands[2];
public:
CLI() : commands {"create", "login"}
{}
};
Explore related questions
See similar questions with these tags.
lang-cpp
void addCommand(), start(), getCommand(string);, since it isn't related to your question.