如何在C ++中使用常量设置数组,允许最大大小?

时间:2013-07-11 02:18:17

标签: c++

class grades
{
private:
   char *grade;
   string course[20];
   int numCourse;
public:
   grades();
   bool setGrade(char *gradeIn);
   bool setCourse(char *nameIn);

};

这是我的班级宣言。我想在数组声明中设置一个常数而不是20。我该怎么做呢?我已经尝试过静态const但问题是每次类都返回一个超出范围的错误。

2 个答案:

答案 0 :(得分:3)

这不起作用吗?

class grades
{
private:
   char *grade;
   static const int MAX_COURSES = 20;
   string course[MAX_COURSES];
   int numCourse;
public:
   grades();
   bool setGrade(char *gradeIn);
   bool setCourse(char *nameIn);

};

答案 1 :(得分:1)

使用#define。老学校,但它仍然有效。

或...声明

 const int MAX_ARRAY_SIZE = 20

在命名空间中(即在类外)。