Skip to content

Latest commit

 

History

History
43 lines (34 loc) · 898 Bytes

compiler-error-c2179.md

File metadata and controls

43 lines (34 loc) · 898 Bytes
description title ms.date f1_keywords helpviewer_keywords ms.assetid
Learn more about: Compiler Error C2179
Compiler Error C2179
11/04/2016
C2179
C2179
f929bfc6-3964-4e54-87d6-7529b9b6c0b9

Compiler Error C2179

'type' : an attribute argument cannot use type parameters

A generic type parameter is resolved at runtime. However, an attribute parameter must be resolved at compile time. Therefore, you cannot use a generic type parameter as an argument to an attribute.

Example

The following sample generates C2179.

// C2179.cpp
// compile with: /clr
using namespace System;

public ref struct Attr : Attribute {
   Attr(Type ^ a) {
      x = a;
   }

   Type ^ x;
};

ref struct G {};

generic<typename T>
public ref class Z {
public:
   Type ^ d;
   [Attr(T::typeid)]   // C2179
   // try the following line instead
   // [Attr(G::typeid)]
   T t;
};