假设我有
[[nodiscard]] int foo ()
{
return 0;
}
int main ()
{
foo ();
}
然后
error: ignoring return value of ‘int foo()’, declared with attribute nodiscard [-Werror=unused-result]
但是如果
int x = foo ();
然后
error: unused variable ‘x’ [-Werror=unused-variable]
有没有一种干净的方式告诉编译器“我想要丢弃这个 [[nodiscard]]
值”?
[[nodiscard]]
,对吧?我可以想出两个原因来调用一个带有[[nodiscard]]
的函数进行副作用,即单元测试和缓存预热。在 UT 的情况下,通常会将返回值与某些预期结果进行比较。 - Arne Vogel[[nodiscard]]
。 - undefined