【发布时间】:2010-04-30 14:28:49
【问题描述】:
我正在复习考试,我被这个问题难住了。
考虑以下声明:
enum CategoryType {HUMANITIES, SOCIALSCIENCE, NATURALSCIENCE};
const int NUMCOURSES = 100;
struct CourseRec
{
string courseName;
int courseNum;
CategoryType courseCategory;
};
typedef CourseRec CourseList [NUMCOURSES];
CourseList courses;
int index1, index2;
- 表达式 courses[index1] .courseName[index2] 的数据类型是什么?
(a) 课程列表 (b) CourseRec (c) 字符串 (d) 炭 (e) 没有;该表达式在语法上无效
我认为答案是字符串,因为 courseName 是一个字符串,甚至可能是 CourseRec,因为它在结构中,但答案是 (d)char。为什么这是 char 数据类型?非常感谢任何帮助。
【问题讨论】:
-
应该是 typdef CourseRec[NUMCOURSES] CourseList 吗?
-
不,C++ 不是那么简单。
-
不。 typedef 中的顺序就像对象定义中的顺序一样。 #define 会有所不同。
-
答案不是
char,而是const char& -
CourseList 是非常量的,所以类型不是
char&?