gpt4 book ai didi

c - 无法在声明中使用内联得到错误 C2054

转载 作者:太空狗 更新时间:2023-10-29 16:26:35 26 4
gpt4 key购买 nike

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

static inline int pthread_fetch_and_add(int *val, int add, int *mutex)
{
return 0;
}

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

最佳答案

在 MSVC 中使用 __inline

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

"The inline keyword is available only in C++. The __inline and __forceinline keywords are available in both C and C++. For compatibility with previous versions, _inline is a synonym for __inline."

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

例子

#if !defined(__cplusplus) && defined(_MSC_VER) && _MSC_VER < 1900
# define inline __inline
#endif

Note that 1900 means Visual-studio-2015,I mean, said version supports inline in .c files (so c99 standard is little more supported, but not fully).

关于c - 无法在声明中使用内联得到错误 C2054,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24736304/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com