警告:用两个参数构造函数返回对象时,表达结果未使用
Warning: expression result unused when returning an object with a two argument constructor
i有一个类,代表用于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%警告免费代码。我是面对一些奇怪的编译器错误还是在这里忽略了一些明显的东西?任何指针都赞赏!
在表达式
中return (static_cast<SampleType> (re), static_cast<SampleType> (im));
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
突出显示的铸造表达的结果未使用。可以简化返回语句(假设第一个转换没有副作用):
return static_cast<SampleType> (im);
但是,我怀疑这不是您所掌握的(您启用了警告的好东西,是吗?)。也许您确实打算使用真实的部分?在这种情况下,您可能应该写的:
return {static_cast<SampleType> (re), static_cast<SampleType> (im)};
相关文章:
- 如何通过另一个对象中的命令正确地从一个对象返回数据
- 如何访问从 COM 对象返回的 VARIANT 数据类型中的安全数组C++?
- 从我的对象返回静态数组
- 将unique_ptr作为<Object>unique_ptr<常量对象返回>
- 从右值对象返回成员
- 视觉对象 返回 C++ 中的双精度值
- 为什么类型为 sf::Text 的对象返回不同的 getPosition().y 和 getLocalBounds().
- std::min_element 从类对象返回意外结果
- C++无效的对象返回语义
- const引用是否延长临时对象返回的临时对象的寿命
- 将 NULL 作为对象返回时未收到任何警告
- 如何在 C# 中从 com 对象返回数组(double[])
- 从重载运算符返回引用,并使用临时对象返回表达式
- Cin 对象返回值 c++
- 将变量作为类对象返回
- 使用可更改对象返回只读的最佳方法是什么
- 如何在Cython中从另一个包装对象返回包装的c++对象
- 当对象返回时,c++动态数组被清除
- 从带有动态字段的函数、对象返回
- 从堆栈上的匿名对象返回对*this的引用