为什么这段代码不打印字母a?
#include <iostream>
#include <stack>
void a()
{
std::cout<<"a";
}
int main ()
{
void a();
return 0;
}
答案 0 :(得分:8)
您不小心在main()
内声明了一个函数,而不是调用它。
int main ()
{
void a(); // <-- DECLARES a function, does not call it
return 0;
}
以下是修复:
int main ()
{
a();
return 0;
}
另请注意,您可能需要换行符:
void a()
{
std::cout<<"a\n";
}
如果您愿意输入,也可以使用std::endl
。
答案 1 :(得分:4)
您要两次声明您的功能:
#include <iostream>
#include <stack>
void a()
{
std::cout<<"a";
}
int main ()
{
void a(); // this is a declaration
return 0;
}
请改为:
int main ()
{
a(); // this is a function call, which will execute your function
return 0;
}
答案 2 :(得分:3)
它确定qwertyu uytrewq,每个人在开始时都有这些问题,主要的是毫不犹豫地质疑。
代码中的主要错误是,您声明了该函数但未调用它。功能分为三个阶段。
声明即
void a();
定义即
void a() { std :: cout&lt;&lt; “一个”; }
调用函数,即
A();
现在程序中的主要错误属于第3阶段(调用函数),你提到的函数类型也称为Deceleration,所以正确的代码如下。
#include <iostream>
#include <stack>
void a()
{
std::cout<<"a";
}
int main ()
{
a();
return 0;
}
答案 3 :(得分:0)
在你的主要功能中:
int main()
{
// Don't add Void
a();
return 0;
}