C++和C函数的不同

  1. C++中函数必须有返回类型,而C默认为int。
  2. C++中返回类型必须和return实际的返回类型一致,或者可以执行隐式转换,C中并没有该限制,可以任意返回。
  3. C++中没有参数的函数调用时不能有参数,C中可以使用任意类型,任意数量的参数进行调用。
    f(void)
    {char a = 0;
        double d = 0;
        if(a == 'a')
        {
            return &a;
        }
        else
        {
            return d;
        }
    }
    int main()
    {
        int i = 0;
        double d = 0;
        double *pd = &d;
        f(i, pd);
        return 0;
    }

    纯C实现中进行编译,会给出警告,但是默认会编译通过(很多编译器能通过设置把警告当做错误的情况除外)。但是C++中给出编译错误。vs2015带的编译器给出如下错误信息:

    

猜你喜欢

转载自www.cnblogs.com/zfwxkd/p/11980233.html