表达式在使用数组时必须具有类类型

Expression must have class type when using an array

本文关键字:类型 数组 表达式      更新时间:2023-10-16

我有一个处理数组的类,我试图检查它是否为空。我一直得到错误"表达式必须有一个类类型。"

这是我的代码:

int main ()
{
    Array ar1();
    bool isEmpty();
    cout << "The array is empty " << ar1.isEmpty();
}

有什么问题吗?

如果你想声明一个数组的数组元素,写:

Array ar1[10];  // or other constant expression in [] as size specifier

Array ar1();

声明名称为ar1的函数,接受void,返回Array。函数不是类,因此写入ar1.isEmpty()时出现"expression must have a class type"错误。

可能你想要一个包含其他元素的数组,然后是Array,这是错误的。这是如何声明一个名为array的数组,包含10个int s:

int array[10];