C++ 为什么可以';函数不能跟在Main后面
为什么我不能将函数放在main之后,VisualStudio无法构建程序。这是C++的奇特还是Visual Studio Quikk?< /P> 例如C++ 为什么可以';函数不能跟在Main后面,c++,visual-studio-2010,C++,Visual Studio 2010,为什么我不能将函数放在main之后,VisualStudio无法构建程序。这是C++的奇特还是Visual Studio Quikk?< /P> 例如 将产生一个main无法使用myFunction的错误您可以,但必须事先声明: void myFunction(); // declaration int main() { myFunction(); } void myFunction(){} // definition 请注意,函数需要返回类型。如果函数不返回任何内容,则该类型必须为
将产生一个main无法使用myFunction的错误您可以,但必须事先声明:
void myFunction(); // declaration
int main()
{
myFunction();
}
void myFunction(){} // definition
请注意,函数需要返回类型。如果函数不返回任何内容,则该类型必须为void
,因为
myFunction()
必须在使用前声明。一般来说,这是C++行为。< P>不能使用一个名称/符号,它是<强> > < >强>尚未声明。这就是全部原因
是这样的:
i = 10; //i not yet declared
int i;
这也是错误的,完全出于同样的原因。编译器不知道i
是什么–它并不真正关心它将是什么
正如您所写的(这对您和编译器都有意义):
你必须这样写:
void myFunction(); //declaration!
int main()
{
myFunction() //use
}
void myFunction(){} //definition
希望能有所帮助。函数在使用前需要声明:
void myFunction();
int main() {
myFunction();
}
void myFunction() {
...
}
您必须向前声明一个函数,以便main可以知道存在一些函数
void myFunction();
int main()
{
myFunction();
}
void myFunction(){}
别忘了放
在每个命令之后进行编码。在调用函数之前指定函数声明。这样编译器就可以知道返回类型和签名。您必须在调用函数之前声明函数
void myFunction();
int main()
{
myFunction()
}
myFunction(){}
大多数计算机编程语言都有自顶向下的方法,这意味着代码是从顶部编译的。当我们在main函数之后定义一个函数并在main[myFunction()]中使用它时,编译器会想“这是什么,我以前从未见过它”,它会生成一个错误,说myFunction未声明。如果您想以这种方式使用,您应该在定义主函数之前给出该函数的原型。但有些编译器接受没有原型的情况
#include<stdio.h>
void myFunction(); //prototype
int main()
{
myFunction(); //use
}
myFunction(){ //definition
.......;
}
#包括
void myFunction()//原型
int main()
{
myFunction();//使用
}
myFunction(){//定义
.......;
}
声明然后定义
void func();
int main()
{
func();
}
void func()
{
}
myFunction()
是语法错误,而myFunction()代码>不是。您必须在调用函数原型之前先声明它。可能是因为您在定义它之前调用的myFunction
没有开销原型。您还忘记了分号和返回类型<代码>myFunction()代码>和<代码>虚空MyFrAuthor({} < /Cord>)可以从主()?HueYutGuululBuykisik的上边的函数调用主(),在C++中,禁止从代码中调用<代码>主()/<代码>。一个好的编译器应该给你错误(或者至少是警告)<运行时调用code>main()
。确定。非常感谢。我只是想知道,在我知道的任何地方都可以看到梅因的胡说八道,但我想知道。:)如果有一个使用
-指令的,那么让原型在它之前还是之后进行比较好?
#include<stdio.h>
void myFunction(); //prototype
int main()
{
myFunction(); //use
}
myFunction(){ //definition
.......;
}
void func();
int main()
{
func();
}
void func()
{
}