我在课堂宣言中看到了这一点并且好奇是什么意思?我认为这可能是一种方式来声明一个char数组将成为一个成员,但大小不是固定的,并将其作为一个参数,但我不确定。
char *flagstr(int);
这是什么?
答案 0 :(得分:3)
不,那不是它。
当你在类
中看到这样的声明时char *flagstr(int);
它声明了一个名为flagstr
的成员函数,它接受一个类型为int
的参数,并返回一个指向字符的指针。
您可以告诉您正在查看函数声明,因为名称后面有一对括号。这可能会造成混淆,因为省略了参数名称(C ++语法规则不要求程序员在声明中指定参数名称;此外,您可以省略函数定义中未使用参数的名称)。这是相同的声明:
char *flagstr(int flagValue);
答案 1 :(得分:0)
这只是一个函数声明,它以int
作为输入参数并返回类型char *
。
你在这里感到困惑主要是因为你忘记了,在函数声明中,输入参数名称不是必需的(只有它们的类型)。