Ich bin derzeit etwas Arbeit mit C++/CLI tun, und ist ein seltsamen Übersetzungsfehler mit dem folgenden Code zu begegnen:C++/CLI Übersetzungsfehler mit generischen Delegaten
private ref class LinqHelper abstract sealed
{
public:
generic<typename T, typename U> static Func<T, U>^ Cast()
{
return gcnew Func<T, U>(&LinqHelper::Cast);
}
private:
generic<typename T, typename U> static U Cast(T val)
{
return safe_cast<U>(val);
}
};
Fehler C3352: 'Cast': die angegebene Funktion nicht mit der Delegattyp ‚U (T)‘
spezifischere, die problematische Codezeile wird:
return gcnew Func<T, U>(&LinqHelper::Cast);
Ich verstehe mich nicht, um diesen Fehler zu erklären. Die Funktion "Cast static member", die ich an den Func-Delegate-Konstruktor übergebe, hat die erforderliche Signatur, d. H. U Cast (T val).
Könnte mir bitte irgendwer etwas Licht für mich geben?
Wenn es eine Hilfe ist: Ich arbeite mit VS 2015 und das C++/CLI-Projekt referenziert das .NET Framework v4.5.2.
Danke
Vielen Dank! –