__attribute__ ((warn_unused_result)) 的 Visual Studio 等效项
Posted
技术标签:
【中文标题】__attribute__ ((warn_unused_result)) 的 Visual Studio 等效项【英文标题】:Visual studio equivalent for __attribute__ ((warn_unused_result)) 【发布时间】:2014-11-10 11:06:37 【问题描述】:考虑以下代码:
struct MyType;
MyType myFunction() __attribute__ ((warn_unused_result))
return MyType;
int main()
myFunction();
auto storMyType = myFunction();
不存储myFunction
的返回值是一个逻辑错误,我希望所有编译器都出现编译错误。 Visual Studio 2013 是否有任何等价物?
【问题讨论】:
MSVC equivalent of __attribute__ ((warn_unused_result))? 的可能重复项 @OrangeDog 是的,是重复的 【参考方案1】:注解是_Check_return_
注释返回值并声明调用者应该检查它。如果在 void 上下文中调用函数,检查器会报告错误。
但是,我相信 SAL 注释仅在 Visual Studio 的 Premium 和 Ultimate 版本中可用。
MSDN: Annotating Function Behavior
【讨论】:
以上是关于__attribute__ ((warn_unused_result)) 的 Visual Studio 等效项的主要内容,如果未能解决你的问题,请参考以下文章
__attribute__ ((__packed__)); 怎么用?
GCC的__attribute__ ((constructor))和__attribute__ ((destructor))