0

例如,我有:

#include <iostream>

class Foo {
private:
    int size;
    int arr[10];
public:
    Foo();
};

Foo::Foo()
    : size {0}, arr { } {
    
}

int main() {

    Foo one;

}

这有效,但如果我尝试使用括号:

#include <iostream>

class Foo {
private:
    int size;
    int arr[10];
public:
    Foo();
};

Foo::Foo()
    : size {0}, arr[] { } { // error
    
}

int main() {

    Foo one;

}

为什么在成员初始化器列表中初始化数组时不需要括号?这只是语法吗?这种初始化数组的行为是否在其他任何地方都可以找到?

4

0 回答 0