Поделиться через


Ошибка компилятора C3393

синтаксическая ошибка в предложении ограничения: "идентификатор" не является типом

Идентификатор, переданный в ограничение, которое должно быть типом, не является типом. Дополнительные сведения см. в статье Constraints on Generic Type Parameters (C++/CLI) (Ограничения, применяемые к параметрам универсальных типов (C++/CLI)).

Пример

Следующий пример приводит к возникновению ошибки C3393:

// C3393.cpp
// compile with: /clr /c
void MyInterface() {}
interface class MyInterface2 {};

generic<typename T>
where T : MyInterface   // C3393
// try the following line instead
// where T : MyInterface2
ref class R {};