У меня есть универсальный класс, написанный на C ++ \ CLI, который содержит метод, возвращающий экземпляр параметра универсального типа:
generic<typename TWidget> public ref class Factory abstract
{
public:
virtual TWidget^ MakeWidget() abstract;
}
Мой универсальный тип (TWidget
) будет ссылочным типом, и поэтому я хочу, чтобы мой метод (MakeWidget
) возвращал косвенное отношение к типу. Компиляция завершается с ошибкой
ошибка C3229: 'TWidget ^': недопустимы косвенные ссылки на параметр универсального типа
Конечно, это не необычный сценарий; я что-то неправильно понимаю? (вполне возможно, так как я редко использую этот язык).
Любые предложения о том, как я могу успокоить компилятор и достичь желаемого результата?