属性去哪里进行函数声明

时间:2016-07-22 00:44:11

标签: c++ attributes

我对函数声明 [[]] 属性的位置感到有点困惑。

此网站(http://en.cppreference.com/w/cpp/language/function)表示将属性放在最后..

引用:

  

noptr-declarator(parameter-list)cv(可选)ref(可选)   除(可选)attr(可选)

但是对于功能定义,请将属性放在前面..

引用:

  

attr(可选)decl-specifier-seq(可选)声明符   virt-specifier-seq(可选)函数体

如果我忽略声明的建议,并在前面放置属性(根据定义),那么编译器提示更有意义(它警告我的函数 返回)。

这就是我的尝试:

  

//警告:'noreturn'函数确实返回[默认启用]

     

[[noreturn]] void no_return();

     

// [[不返回的]

     

void no_return(){};

感谢任何帮助,更好地理解这一点,谢谢。

0 个答案:

没有答案