从函数返回动态生成的值

时间:2014-06-17 22:22:12

标签: gcc types gcc-warning

由于对gcc内存分配的误解,我对变量类型有疑问,其次是关于从函数返回动态变化值的问题。

  1. 是否有一个函数可以从中分析变量的类型。 (我有编译器警告告诉我错误的类型用法。所以通过编译进行类型分析。)

  2. 我如何创建一个函数,它返回刚刚生成的函数的值? 例如,我有函数和主要部分,我称之为函数。只是函数的调用应该给我它运行的值:

          int func(){
            for(i; 0 to 256;i++){
             return i; }
            }
            main(){
            for(j; 0 to 256;j++){
            func(); // should give me back the current value of i - e.g. for i = 3 -> j = 3
              }
            }
    
  3. 这让我也怀疑我何时应该使用函数参数或者更确切地说返回值来给我一些值。 (返回值被限制为什么类型?)

1 个答案:

答案 0 :(得分:0)

  1. 当然,gcc编译器警告已经为相关类型命名。

  2. 可能你的意思是这样的:int func() { static int i; return i++; }

  3.   

    返回值被限制为什么类型?

    ISO / IEC 9899:201x 6.9.1功能定义约束

      

    3函数的返回类型应为void或完整对象   数组类型以外的类型。