程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了GCC 是否推断函数的返回语句?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决GCC 是否推断函数的返回语句??

开发过程中遇到GCC 是否推断函数的返回语句?的问题如何解决?下面主要结合日常开发的经验,给出你关于GCC 是否推断函数的返回语句?的解决方法建议,希望对你解决GCC 是否推断函数的返回语句?有所启发或帮助;

我刚刚遇到了一个非常奇怪的与 GCC 和 C 的交互,如果没有 -Wall,我就不会发现这种交互:

@Directive({
  SELEctor: '[color-getter]'
})

export class colorGetter {
  constructor(public el: ElementRef) {}
  ngOnChanges() {
    setTimeout(() => {
      console.log(this.el.nativeElement.style.color);
    })
  }
  ngAfterVIEwInit() {
    console.log(this.el.nativeElement.style.color);
  }
}

如您所见,尽管返回类型承诺指向我的结构体,但 test_R_42_11845@ake 不会返回任何内容。

使用 gcc 编译(没有警告)导致没有抱怨:

// infer.c
#include <stdio.h>
#include <stdlib.h>

typedef struct Test {
    int dummy;
} Test;

Test* test_R_42_11845@ake() {
    Test *ret = malloc(sizeof(Test));
    ret->dummy = 1;
    // return nothing
}

int main() {
    Test* t = test_R_42_11845@ake();
    printf("%i\n",t->dummy);
}

运行程序会产生预期的行为:

gcc -o infer infer.c

我对我的程序如何成功运行感到困惑。如果没有明确的 return 语句,GCC 是否会推断函数的返回类型?

./infer
1

用 -Wall 编译清楚地发现有什么事情发生了,但是 GCC 是如何让这个程序成功编译(更不用说运行)的了?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

@H_674_39@

大佬总结

以上是大佬教程为你收集整理的GCC 是否推断函数的返回语句?全部内容,希望文章能够帮你解决GCC 是否推断函数的返回语句?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: