2016-11-12 1 views
1

Ich versuche, eine Vorlage, die als endgültig von C++ markiert ist, ohne Erfolg C# zu umbrechen. Swig sagt "Template 'Test' undefined"Wie wickelt man die letzte temporäre Klasse von C++ mit swig?

Es funktioniert, wenn ich das endgültige Schlüsselwort entfernen, aber die Kopfzeile ist nicht unter meiner Kontrolle.

%module SwigTest 
template <typename T> 
class Test final 
{ 
    public: 
    T a; 
}; 
%template(TestBool) Test <bool>; 

Hat der endgültige Effekt den Namen in irgendeiner Weise? Ich versuchte

%template(TestBool) Test final <bool>; 

und ähnliche Kombinationen, aber kein Erfolg.

+1

Vielleicht swig nicht aktualisiert, um über C++ 11 Schlüsselwörter zu wissen? – Arunmu

+0

Könnte wahr sein. Ich werde sie direkt fragen, ob niemand eine Lösung hat. Ich bin mir nicht sicher, ob ein Bug oder ich es einfach falsch mache: s – Luz

Antwort

2

Sieht aus wie SWIG final noch nicht versteht. Sie können dies jedoch mit dem Vorprozessor in SWIG trivial umgehen:

Dies funktioniert ohne negative Auswirkungen.

Verwandte Themen