共用方式為


編譯器錯誤 C3391

'type_arg': 對泛型參數 'param' (屬於泛型 'generic_type') 無效的類型引數,必須是不可為 Null 的實值類型

泛型類型未正確地具現化。 請檢查類型定義。 如需詳細資訊,請參閱 Nullable泛型

範例

下列範例會使用 C# 建立元件,其中包含在 C++/CLI 中撰寫泛型類型時不支援的特定條件約束的泛型型別。 如需詳細資訊,請參閱型別參數的條件約束

// C3391.cs
// Compile by using: csc /target:library C3391.cs
// a C# program
public class GR<N>
where N : struct {}

當C3391.dll元件可用時,下列範例會產生 C3391。

// C3391_b.cpp
// Compile by using: cl /clr C3391_b.cpp
#using <C3391.dll>
using namespace System;
value class VClass {};

int main() {
   GR< Nullable<VClass> >^ a =
      gcnew GR< Nullable<VClass> >();   // C3391 can't be Nullable
   GR<VClass>^ aa = gcnew GR<VClass>(); // OK
}