diff --git a/Code/Mantid/Framework/Algorithms/src/CalculateTransmission.cpp b/Code/Mantid/Framework/Algorithms/src/CalculateTransmission.cpp index ae463d57def3dd2e31e4d57d50fa5c91c6c58415..6f35de921511e29e487f26361ad6d354be45cc6d 100644 --- a/Code/Mantid/Framework/Algorithms/src/CalculateTransmission.cpp +++ b/Code/Mantid/Framework/Algorithms/src/CalculateTransmission.cpp @@ -233,9 +233,16 @@ API::MatrixWorkspace_sptr CalculateTransmission::extractSpectra(API::MatrixWorks { // Compile a comma separated list of indices that we can pass to SumSpectra. std::vector<std::string> indexStrings(indices.size()); + // A bug in boost 1.53: https://svn.boost.org/trac/boost/ticket/7421 + // means that lexical_cast cannot be used directly as the call is ambiguous + // so we need to define a function pointer that can resolve the overloaded + // lexical_cast function + typedef std::string (*from_size_t)(const size_t &); + std::transform( indices.begin(), indices.end(), - indexStrings.begin(), boost::lexical_cast<std::string, size_t>); + indexStrings.begin(), + (from_size_t)boost::lexical_cast<std::string, size_t>); const std::string commaIndexList = boost::algorithm::join(indexStrings, ","); double start = m_done;