我之前的一次考试上有这样一个问题,一直以来我一直在阅读资料,但是它们似乎并没有明确说明任何一种语言需要声明。
那么到底应该怎么做呢?如果没有声明,C++ 会报错还是能够运行?
我之前的一次考试上有这样一个问题,一直以来我一直在阅读资料,但是它们似乎并没有明确说明任何一种语言需要声明。
那么到底应该怎么做呢?如果没有声明,C++ 会报错还是能够运行?
...
参数)来说,标准 C 总是需要原型。对于非变参函数而言,即使是现代 C 中也不需要原型声明。但是从 C99 开始,至少对于所有其他函数,都需要进行非原型声明。在较旧的 C89/90 版本中,非变参函数的函数声明并不是必需的。在 C 语言中,函数声明是必须的。但是,原型声明是可选的,除了变参函数和参数类型会被默认提升的函数。
我不会回答关于C语言的问题。
C++中,对于函数:
void foo();
是一个声明。void foo() { .. }
是一个定义 并且 也是一个声明。在调用 foo()
之前,你需要至少有一个声明在作用域内。
对于数据变量,情况基本相同。