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 中,将接受传递的参数,并执行函数内的代码。
广告