函数声明,有什么作用?
《C++Primer》第四版
7.4函数声明
特别地,如果函数定义和函数声明的形参列表一致,但返回类型不一致,编译器会发出警告或出错信息来指出这种差异。
-------
问题:
1.
上面这句话的意思是:
程序文件中,有函数声明。可以检查函数定义,或调用时。参数,及返回值,是否与声明相同。
对么?
2.
编译:
g++ m.cc a.cc a.h
上面三个程序文件,定义文件(a.cc),和调用文件(m.cc)。它们都有函数声明。函数声明,是包含在头文件中。
函数声明的作用:
检查函数定义,函数调用时,参数,返回值,是否与声明相同。
假如,调用函数是:
T(3);
编译时,会提示错误。
3.
编译:
g++ m.cc a.cc
这样也可以,对么?
7.4函数声明
特别地,如果函数定义和函数声明的形参列表一致,但返回类型不一致,编译器会发出警告或出错信息来指出这种差异。
-------
问题:
1.
上面这句话的意思是:
程序文件中,有函数声明。可以检查函数定义,或调用时。参数,及返回值,是否与声明相同。
对么?
2.
//a.h
vode T();
//m.cc
#include "a.h"
int main()
{
T();
}
//a.cc
#include "a.h"
#include <iostream>
using std::cout;
vode T()
{
cout<<"AA";
}
编译:
g++ m.cc a.cc a.h
上面三个程序文件,定义文件(a.cc),和调用文件(m.cc)。它们都有函数声明。函数声明,是包含在头文件中。
函数声明的作用:
检查函数定义,函数调用时,参数,返回值,是否与声明相同。
假如,调用函数是:
T(3);
编译时,会提示错误。
3.
//m.cc
voie T(); //没用头文件,直接写函数声明。
int main
{
T();
}
#include <iostream>
using std::cout;
void T(); //没用头文件,直接写函数声明。
void T()
{
cout<<"AA";
}
编译:
g++ m.cc a.cc
这样也可以,对么?
...全文
相关推荐
C++中头文件与源文件的作用详解
试想,如果一个符号出现了两种不同的定义,编译器该听谁的?这种机制给C++程序员们带来了很多好处,同时也引出了一种编写程序的方法。
extern用法详解
4. extern函数声明C语言的关键字extern在函数的声明中起什么作用?答案是如果函数的声明中带有关键字extern,仅仅是暗示这个函数可能在别的源文件里定义,没有其它作用。
四讲函数及变量的作用域PPT学习教案.pptx
如果返回值类型与函数声明的返回类型不匹配,编译器会自动进行类型转换。例如:```cppint lmax(int a, int b){ return (a > b ?
extern声明辨析
`extern`函数声明**问题**:在函数声明中使用`extern`关键字有什么作用?它与普通的函数声明有何区别?
h220801作业8.22
单选题: 问题:以下程序的输出结果是什么? 答案:B、'xm' 解析:这个问题考察的是函数声明的识别。


