Dies ist Clang Bug 18097 . Hier ist ein langer Thread, der das Problem diskutiert, der zu sein scheint, dass Clam nur skalare Typen unterstützt für T
in atomic<T>
. Der C ++ 11-Standard besagt eindeutig (§29.5 / 1), dass T
ein beliebig kopierbarer Typ sein kann.
Beide in der Frage gezeigten Verwendungen sollten mit diesem Konstruktor übereinstimmen
%Vor% Die einzige Möglichkeit, die ich mir vorstellen kann, ist das Erstellen von atomic<S>
und das anschließende Initialisieren des Objekts mit atomic::store
.
Tags und Links c++ c++11 atomic uniform-initialization aggregate-initialization