无法在声明中使用内联获取错误C2054

use*_*754 21 c

我正在尝试使用vs2013 c/c ++编译器编译一些开源项目.该文件是.c扩展名.以下代码返回一些错误(如下).只需删除声明中的内联即可"修复"所有这些内容.注意:不是真正的功能,只是说明性的

static inline int pthread_fetch_and_add(int *val, int add, int *mutex)
{
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

错误错误C2054:预期'('跟随'内联'错误C2085:'pthread_fetch_and_add':不在正式参数列表错误C2143:语法错误:缺少';'在'{'之前

oua*_*uah 33

__inline与MSVC一起使用.

inline 是一个c99关键字,MSVC尚未(完全)支持c99.

"inline关键字仅在C++中可用.__ C和C++都提供__inline和__forceinline关键字.为了与以前的版本兼容,_inline是__inline的同义词."

资料来源:http://msdn.microsoft.com/en-us/library/z8y1yy88.aspx


小智 6

一个简单的解决方法是-Dinline = __与MSVC编译器内联.