私はそのようなコードを持っています:
boost::optional<double> result = _ind1.Value() / _ind2.Value();
各引数boost::optional<double>
も次のとおりです。
boost::optional<double> Value() {
return value;
}
エラーは次のとおりです。
Error 1 error C2676: binary '/' : 'boost::optional<T>' does not define this operator or a conversion to a type acceptable to the predefined operator
2 IntelliSense: no operator "/" matches these operands
operand types are: boost::optional<double> / boost::optional<double>
分割が定義されていないように見えることは理解しています。boost::none
2つの引数のいずれかがそうである場合、結果が期待されますnone
-それ以外の場合は、通常の二重除算になります。これは自分で書けばいいのでしょうか?