std :: visit für variant kann nicht unter clang 5 kompiliert werden

9

Die folgenden Verwendungen von std :: visit kompilieren ordnungsgemäß unter gcc 7.2, können aber nicht unter clang 5.0 kompiliert werden. Weiß jemand, was das Problem ist?

%Vor%

Der erste Fehler ist dies:

%Vor%

Hier ist ein Link zu godbolt, der diesen Fehler zeigt: Ссылка

    
user2736667 21.10.2017, 00:48
quelle

1 Antwort

8

Dies ist bekannt als Fehler 33222 , der sich nur auf libstdc ++ 's std::variant (und andere Konstrukte, die dieselbe Kombination verwenden) auswirkt. Das Problem hängt mit der Funktion friend to template zusammen - siehe den Thread für weitere Details.

Die Variante von libc ++ scheint nicht die Technik von Freunden zu verwenden, die libstdc ++ benutzt hat, daher solltest du in der Zwischenzeit vorübergehend auf libc ++ wechseln.

    
Rakete1111 21.10.2017 07:18
quelle

Tags und Links