共用方式為


編譯器錯誤 C3492

'var': 您無法擷取匿名等位的成員

備註

您無法擷取未命名等位的成員。

更正這個錯誤

  • 為等位命名,並將完整的等位結構傳遞至 Lambda 運算式的擷取清單。

Example

下列範例會產生 C3492,因為它會擷取匿名等位的成員:

// C3492a.cpp

int main()
{
   union
   {
      char ch;
      int x;
   };

   ch = 'y';
   [&x](char ch) { x = ch; }(ch); // C3492
}

下列範例透過為等位命名,並將完整的等位結構傳遞至 Lambda 運算式的擷取清單,來解決 C3492:

// C3492b.cpp

int main()
{
   union
   {
      char ch;
      int x;
   } u;

   u.ch = 'y';
   [&u](char ch) { u.x = ch; }(u.ch);
}

另請參閱

Lambda 運算式