可以在 C++ 中实例化匿名联合吗?

Can an anonymous union be instantiated in c++?

我有这段代码:

class test {
  private:
  union {
    double x;
    std::vector<double> y;
  } amIValid;
};

我想知道联合实例amIValid是否有效?

一个未命名联合可以在C++中实例化:

union { int i; double d; } my_thing;
my_thing.i = 3;
// etc.

一个匿名联合是一个未命名的联合not instantiated (scroll down)。您可以直接访问其成员:

union { int i; double d; };
i = 3;
// etc.

所以标题中问题的答案是匿名联合是不能实例化的,因为实例化了就代表它不是匿名联合