C/C++ 函数调用谜题?


这个 C/C++ 函数调用谜题是一个谜题,旨在探索 C 和 C++ 这两种编程语言中方法调用的更多行为。

C 和 C++ 中方法的输出是不同的。让我们看看在 C 和 C++ 中调用方法的区别。

让我们举一个例子并查看下面代码在 c 和 c++ 中的输出。

示例

 动态演示

void method() {
   // Print statement
}
int main() {
   method();
   method(2);
}

输出

对于 C++ -

Error : too many arguments to function ‘void method()’

对于 C -

Program runs without any error.

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

输出和错误背后的逻辑

C++ 编程语言的编译器将函数 method() 作为没有任何参数的函数,而 C 编译器中的相同函数可以高效地工作,因为编译器将函数 method() 视为可以接受可变参数的函数。

由于此原因,当我们向在定义中没有任何参数的方法传递参数时,在 C++ 中,输出窗口中将提示一个错误,提示“错误:向“void func()”函数传递的参数过多”。

在 C 中,将接受传递的参数,并执行函数内的代码。

更新于:2019 年 10 月 7 日

158 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告