我希望在一个类中定义一个数组,并将该类的变量设置为该数组的元素。下面的实施会导致分段错误:如何在C++中定义一个常量数组?
class Grade {
char MAP[];
char *letter;
public:
Grade();
~Grade();
void set(int);
};
Grade::Grade(){
letter = new char;
*letter = '\0';
MAP[0] = 'A';
MAP[1] = 'B';
MAP[2] = 'C'; // result in segmentation fault
MAP = { 'A', 'B', 'C'}; // result in segmentation fault
}
Grade::~Grade(){
delete letter;
delete percent;
}
void Grade::set(int a){
*letter = MAP[a];
}
我该如何解决?
+1不错。我喜欢''ABCDEF'[1级]'的技巧。 – 2013-02-09 05:07:09