主要的C ++函数不起作用

时间:2015-03-31 20:37:07

标签: c++

为什么这段代码不打印字母a?

#include <iostream>      
#include <stack>         
void a()
{
    std::cout<<"a";
}
int main ()
{
  void a();
  return 0;
}

4 个答案:

答案 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,每个人在开始时都有这些问题,主要的是毫不犹豫地质疑。

  

代码中的主要错误是,您声明了该函数但未调用它。功能分为三个阶段。

  1. 声明即

    void a();

  2. 定义即

    void a() { std :: cout&lt;&lt; “一个”; }

  3. 调用函数,即

    A();

  4. 现在程序中的主要错误属于第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;
}