将数组传递给类的未声明大小的数组成员

时间:2016-04-28 20:56:33

标签: c++ arrays

我想要一个数组,其值从main声明为类。这是示例代码。

class test{
public:
      const double arr[];
};

int main(){

     test t;
     t.arr[] = {1, 2};
    return 0;
}

当我尝试初学时,它会给我一个错误错误:意外表达。

但是如果我删除main中的t.arr[],它编译得很好。

1 个答案:

答案 0 :(得分:0)

  1. const double arr[]; - 可变长度数组? Invalid in C++
  2. t.arr[] - 语法无效(operator[]调用没有参数?),arr也是const,您无法分配给任何数组。
  3. 但你可以做aggregate intialization

    class test {
    public:
        const double arr[2]; // fixed size
    };
    
    int main() {
    
        test t = {{1, 2}}; // not an assignment
        return 0;
    }