class A
{
public:
A(){}
private:
int i;
};
A a[8];
C++11標準8.5.1.1は次のように述べています。
「アグリゲートは、ユーザー提供のコンストラクター(12.1)、非静的データメンバー用のブレースまたはイコールイニシャライザー(9.2)、プライベートまたは保護された非静的データメンバー(Clause)を含まない配列またはクラス(Clause 9)です。 11)、基本クラスなし(10節)、仮想関数なし(10.3)。」
aは配列なので、集合体ですか?私はそうではないと思いますが、標準は「はい」と言っています。