簡體   English   中英

將數組傳遞給類的未聲明大小的數組成員

[英]Pass an array to an array member of undeclared size of a class

我想要一個數組,其值從 main 聲明為一個類。 這是示例代碼。

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

int main(){

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

當我嘗試在 main 中初始化時,它給了我一個錯誤error:unexpected expression。

但是如果我刪除t.arr[]中的t.arr[] ,它編譯得很好。

  1. const double arr[]; - 變長數組? 在 C++ 中無效
  2. t.arr[] - 無效語法(不帶參數的operator[]調用?), arr也是const並且您不能分配給任何數組。

但是你可以做聚合初始化

class test {
public:
    const double arr[2]; // fixed size
};

int main() {

    test t = {{1, 2}}; // not an assignment
    return 0;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM