所谓声明(Declaration),就是告诉编译器我要使用这个函数;
函数声明的格式,是去掉函数定义中的函数体,并在最后加上分号;
也可以不写形参,只写数据类型:
dataType functionName( dataType1, dataType2 ... );
函数声明给出了函数名、返回值类型、参数列表(重点是参数类型)等与该函数有关的信息,称为函数原型(Function Prototype)。
函数原型的作用是告诉编译器与该函数有关的信息,让编译器知道函数的存在,以及存在的形式,即使函数暂时没有定义,编译器也知道如何使用它。
在VC6中看一下;新建一个单文档工程;
在视类CPP文件的底部添加一个函数;
int square(int a)
{
return a*a;
}
在OnDraw()函数中调用此函数;
void CShmView::OnDraw(CDC* pDC)
{CShmDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);// TODO: add draw code for native data hereint a1=100;CString str1;int b1 = square(a1);str1.Format("%d", b1);pDC->TextOut(50,50, str1);
}
现在构建运行;报错如下;
然后在视类CPP文件的头部加入声明,
int square(int );
再构建运行, 结果如下;
本身VC生成的窗口框架代码,CPP文件中的函数的函数声明是在对应的头文件中;
例如OnDraw()函数,
它的函数声明在视类头文件中,