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%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!