C++初始化成员数组

C++ initialize member array

我正在尝试创建一个带有私有成员数组的 class (foo)。此 class 将在构造函数中用作另一个 class (foo2) 的私有成员,数组将被初始化。

example.h:

class foo{
private:
    int* ary;
public:
    foo(int*);
    ~foo();
}

example.cpp:

foo::foo(int* b){
ary = b;
}

useOfExample.h

class foo2{
private:
  foo my_foo;
public:
  foo2();
  ~foo2();
}

useOfExample.cpp

foo2::foo2() : myfoo({2,3}){}

我是 C++ 的菜鸟,我意识到我问的可能不是很清楚,所以换句话说,我需要 foo2 有一个成员 foo,其数组将设置为 [2,3] .

看看:Static array vs. dynamic array in C++

您不能使用 {...} 语法来初始化动态数组;您需要手动填写。