C语言公用内联函数的限制解决方案

C语言公用内联函数的限制
内联函数中为什么不能定义可改变的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;
}


引用:
内联函数中为什么不能定义可改变的static变量。

------解决方案--------------------
引用:
内联函数中为什么不能定义可改变的static变量。


何来此问
------解决方案--------------------
编译器的问题吧,vc编译器可以通过,而且是没有楼主所说的问题的额
------解决方案--------------------
内联函数在编译的时候会在调用函数里展开,这样就省去了入栈出栈的开销了
之所以编译不过是因为c99不允许在函数中间定义变量,vc应该没有问题,可能是这个问题