看x264程序中的getopt_long函数(.c文件,而非.cpp文件),看着看着,突然看到一个十分怪异的函数定义形式,查资料后才知道原来是老版本中C语言函数定义的形式. 为了简便说明,本人写个简单的示例,如下:

#include <stdio.h>

int add(x, y)
int x, y;
{
	return x + y;
}

int main()
{
	int a = 2;
	int b = 3;
	int c = add(a, b);

	printf("%d\n", c);

	return 0;
}


     上面的程序在VC6.0的.cpp文件中有错误,但在.c文件中可以正常. 所以,上面这种形式最好废止,自己写函数时,不要写这样的,要按照新的标准来. 但如果别人这样写了,要认识.

    

     上述程序改为:

#include <stdio.h>

int add(int x, int y)
{
	return x + y;
}

int main()
{
	int a = 2;
	int b = 3;
	int c = add(a, b);

	printf("%d\n", c);

	return 0;
}

 

        最后说一句:在VC6.0中,.c文件支持老式和新式的函数定义,但.cpp文件只支持新式的函数定义. 所以,自己写函数,务必用新式的,与时俱进嘛.


本文转载:CSDN博客