Как использовать шаблоны с C ++ / CLI 2010? - PullRequest
0 голосов
/ 30 января 2012

У меня есть следующий метод в c #:

    public static T[] GetResult<T>(ulong taskId)
    {
        return GetResult(taskId).Cast<T>().ToArray();
    }  

, и я пытаюсь использовать его в управляемом c ++ 2010 следующим образом:

array<UrlInfo^>^ arr=Scheduler::GetResult<UrlInfo>(taskId);

, где я получаю

Error   3   error C2770: invalid explicit generic argument(s) for 
'cli::array<Type,dimension> 

что я делаю не так?

1 Ответ

2 голосов
/ 30 января 2012

Если UrlInfo является типом значения, вам не нужно ^.

Попробуйте

array<UrlInfo>^ arr

Если UrlInfo является ссылочным типом, вам нужен^ при звонке GetResult.

arr=Scheduler::GetResult<UrlInfo^>(taskId);

В любом случае что-то не так.Основываясь на сообщении об ошибке, я думаю, что это первый случай.

...