C语言公用内联函数的限制解决方案
C语言公用内联函数的限制
内联函数中为什么不能定义可改变的static变量。
------解决方案--------------------
------解决方案--------------------
何来此问
------解决方案--------------------
编译器的问题吧,vc编译器可以通过,而且是没有楼主所说的问题的额
------解决方案--------------------
内联函数在编译的时候会在调用函数里展开,这样就省去了入栈出栈的开销了
之所以编译不过是因为c99不允许在函数中间定义变量,vc应该没有问题,可能是这个问题
内联函数中为什么不能定义可改变的static变量。
c
C
------解决方案--------------------
#include <iostream>
using namespace std;
inline int get(void)
{
static int count = 0;
return count++;
}
int main(void)
{
for(int i = 0; i < 10; i++)
cout << get() << endl;
return 0;
}
------解决方案--------------------
何来此问
------解决方案--------------------
编译器的问题吧,vc编译器可以通过,而且是没有楼主所说的问题的额
------解决方案--------------------
内联函数在编译的时候会在调用函数里展开,这样就省去了入栈出栈的开销了
之所以编译不过是因为c99不允许在函数中间定义变量,vc应该没有问题,可能是这个问题