爲什麼這段代碼不打印字母a?主要的C++函數不起作用
#include <iostream>
#include <stack>
void a()
{
std::cout<<"a";
}
int main()
{
void a();
return 0;
}
爲什麼這段代碼不打印字母a?主要的C++函數不起作用
#include <iostream>
#include <stack>
void a()
{
std::cout<<"a";
}
int main()
{
void a();
return 0;
}
你不小心聲明函數內部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
,如果你喜歡打字。
請注意,'std :: endl'會自動刷新輸出,如果經常調用,可能會降低速度。 (在比賽編程中,我們不鼓勵使用它,因爲解決方案的成功可能取決於一毫秒)。 – s3lph 2015-03-31 20:50:18
你聲明你的函數兩次:
#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;
}
它確定qwertyu uytrewq,每個人在開始時都有這樣的問題,主要的是毫不猶豫地質疑。
您的代碼中的主要錯誤是,您聲明的功能,但不是調用它。有三個階段的功能。
宣言即
空隙的();
定義即
空隙的() { 的std :: COUT < < 「一」; }
調用即
的功能的();
現在,在你的程序中的主要錯誤是屬於第三階段(調用函數),你提的功能型也這是知道的減速,所以正確的代碼如下。
#include <iostream>
#include <stack>
void a()
{
std::cout<<"a";
}
int main()
{
a();
return 0;
}
在您的主要功能:
int main()
{
// Don't add Void
a();
return 0;
}
爲什麼'作廢();',這只是一個'();'。 – NetVipeC 2015-03-31 20:37:47
謝謝NetVipeC – 2015-03-31 20:39:27