У меня есть класс, представляющий буфер сложных значений для обработки DSP.Для некоторого чистого кода этот класс имеет следующую статическую функцию-член:
template <typename SampleType>
class SampleBufferComplex
{
public:
...
/** Helper to create one Sample of the buffers SampleType in templated code */
template <typename OriginalType>
static std::complex<SampleType> castToSampleType (OriginalType re, OriginalType im) {return (static_cast<SampleType> (re), static_cast<SampleType> (im)); }
}
Это работает, как и ожидалось, однако clang выдает следующее
Warning: "expression result unused".
...
Note:(67, 75) in instantiation of function template specialization 'SampleBufferComplex<float>::castToSampleType<double>' requested here
...
Я не могу видеть, где результат выражения выражаетсяне используется здесь, однако я хочу написать 100% предупреждающий код.Сталкиваюсь ли я с какой-то странной ошибкой компилятора или я пропускаю что-то совершенно очевидное?Любые указатели оценены!