Это связано с некоторыми другими вопросами, такими как: this и некоторыми другими моими вопросами.Как вы объявляете массивы в заголовке C++?
В this question, и другие, мы видим, мы можем объявить и инициализировать строковых массивов в один хороший шаг, например:
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
}
};
Но компилятор жалуется, и я не могу работать почему. Можно ли объявить и инициализировать такой массив в один шаг в определении класса? Есть ли альтернативы, которые лучше?
Я уверен, что это очень любительская ошибка, но, как всегда, ваша помощь и советы очень ценятся.
Приветствия,
Xan
«implimentation» должен быть прописан «реализация» – 2008-11-13 10:22:43