This is related to some other questions, such as: this, and some of my other questions.
In this question, and others, we see we can declare and initialise string arrays in one nice step, for example:
const char* const list[] = {"zip", "zam", "bam"}; //from other question This can be done in the implementation of a function with no bother, or in the body of a .cpp file, outside any scope.
What I want to do is to have an array like this as as member of a class I am using, something like this:
class DataProvider : public SomethingElse { const char* const mStringData[] = {"Name1", "Name2", "Name3", ... "NameX"}; public: DataProvider(); ~DataProvider(); char* GetData() { int index = GetCurrentIndex(); //work out the index based on some other data return mStringData[index]; //error checking and what have you omitted } }; But, the compiler complains and I can't seem to work out why. Is it possible to declare and initialise an array like this in one step in a class definition? Are there alternatives that are better?