Điều này liên quan đến một số câu hỏi khác, chẳng hạn như: this và một số câu hỏi khác của tôi.Làm thế nào để bạn khai báo mảng trong tiêu đề C++?
Trong this question, và những người khác, chúng ta thấy chúng ta có thể khai báo và khởi tạo mảng chuỗi trong một bước tốt đẹp, ví dụ:
const char* const list[] = {"zip", "zam", "bam"}; //from other question
Điều này có thể được thực hiện trong việc thực hiện một chức năng không có bận tâm, hoặc trong phần thân của tệp .cpp, bên ngoài phạm vi bất kỳ.
Những gì tôi muốn làm là để có một mảng như thế này như là thành viên của một lớp Tôi đang sử dụng, một cái gì đó như thế này:
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
}
};
Nhưng, trình biên dịch phàn nàn và tôi dường như không thể làm việc tại sao. Có thể khai báo và khởi tạo một mảng như thế này trong một bước trong định nghĩa lớp không? Có lựa chọn thay thế nào tốt hơn không?
Tôi chắc chắn đây là một sai lầm rất nghiệp dư, nhưng như mọi khi, sự giúp đỡ và lời khuyên của bạn được đánh giá cao.
Chúc mừng,
xan
"implimentation" nên được đánh vần là "thực hiện" –