Это связано с некоторыми другими вопросами, такими как: this и некоторыми другими моими вопросами.
В этом вопросе и других, мы видим, мы можем объявить и инициализировать строковые массивы за один приятный шаг, например:
const char* const list[] = {"zip", "zam", "bam"}; //from other question
Это можно сделать при реализации функции без лишних хлопот или в теле файла .cpp вне какой-либо области.
То, что я хочу сделать, - это иметь такой массив в качестве члена класса, который я использую, что-то вроде этого:
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
}
};
Но компилятор жалуется, и я не могу понять, почему. Можно ли объявить и инициализировать такой массив за один шаг в определении класса? Есть ли альтернативы, которые лучше?
Я уверен, что это очень любительская ошибка, но, как всегда, ваша помощь и совет очень ценятся.
Приветствия
1021 * Xan *