首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

2013-07-30 
C语言公用内联函数的限制内联函数中为什么不能定义可改变的static变量。cC[解决办法]#include iostreamus

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应该没有问题,可能是这个问题

热点排行