Ist die implizite Umwandlung von boost :: optional zu bool weggegangen?

8

Ich habe angefangen, eine vc ++ 10 / boost 1.48 Codebasis auf vc ++ 12 / boost 1.57 zu portieren und bekomme einen Fehler, dass boost :: optional nicht in bool konvertieren kann. Ich dachte, das wäre ein Feature von boost :: optional, wurde es entfernt?

Beispiel:

%Vor%

gibt

%Vor%     
sellsword 21.05.2015, 00:15
quelle

1 Antwort

10

Ja. Boost 1.55 verwendete immer noch das Safes Bool Idiom :

%Vor%

Boost 1.56 , Boost 1.57 und Boost 1.58 verwende jetzt dieses Makro:

%Vor%

was grob gesagt ist:

%Vor%

Ich nehme an, Sie haben BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS nicht definiert - und da Ihr Compiler explizite Konvertierungsoperatoren unterstützt, sollten Sie es wahrscheinlich so behalten!

    
Barry 21.05.2015, 00:22
quelle

Tags und Links