【发布时间】:2021-03-29 20:38:01
【问题描述】:
我最近学习了 C++,并决定尝试制作一个函数。但是,我的函数 func() 遇到了问题,即使事先声明,它也只有放在 main() 函数之前才有效。
如果我把它放在main() 函数之后,系统会告诉我“没有匹配的函数可以调用func”。
注意:另一方面,func2 函数即使放在 main() 函数之前或之后也有效。
代码如下:
#include <stdio.h>
#include <iostream>
void func2();
int func();
int main()
{
int y=2;
std :: cout << "Hello World\n" << func(y) << "\n";
func2();
return 0;
}
int func(int x)
{
x *= 2;
return x;
}
void func2()
{
std :: cout << "Hello there";
}
【问题讨论】:
-
作为一般规则,您应该始终在使用函数之前声明它们。您还应该按照它们的定义完全声明它们。
-
在 C 中,
func()和func(void)曾经是不同的东西,在 C++ 中是相同的东西。