假设我有一个标准化函数定义为:
Vec3f Vec3f::getNormalized() const {
return (*this)/this->length();
}
如果使用此函数而没有存储它的返回值,是否有可能以某种方式创建编译时错误? ;
v.getNormalized(); // which most definitely is a typo
..而不是..
v = v.getNormalized();
最佳答案
在 GCC 中,使用 -Wunused-result
在函数的返回值被忽略时触发警告。如果您想要错误而不是警告,请使用 -Werror
将所有警告转换为错误。如需更多信息,请参阅 GCC Warning Options 。
似乎没有针对 Visual C++ 编译器的等效警告。 (如果我错了,请使用 Visual C++ 信息编辑此回复。)
关于C++:未使用函数返回值时如何触发编译器错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5803623/