2017-11-12 1 views
-5

C++プログラム、次のエラーを検出することができません:私は、次のC++のプログラムを書かれている

#include <iostream> 
using namespace std; 

string s1 = "Hello"; 

int main() { 
     string s2 = "World"; 
     cout << s1 << " " << s2 << endl; 
     int s1 = 46; 
     cout << s1 << " " << s2 << endl; 
     cout << "hello" " " "mars" << endl; 
     message(); 
     return 0; 
} 

void message(void) { 
     cout << s1 << " World" << endl; 
} 

コンパイラは私に次のエラー表示されます。

24.cpp:12:2: error: ‘message’ was not declared in this scope 
    message(); 

をしかし、私はいつものような機能を使用していますこの。私はmain()の機能の外にmessage()の機能を宣言して定義し、それをmain()という機能で呼びました。

どこが間違っていますか?

+0

'main 'の上に' void message(); 'を追加し、' void message(void){'をvoid message(){'に変更してください。 – DimChtz

+0

私はなぜこれがdownvoted理由が表示されません。 – arrowd

+0

@arrowdなぜ「このコードは動作しないのですか?」という質問があり、 – SourceOverflow

答えて

2

ほんの少しの変化と、それは大丈夫だろう

#include <iostream> 
using namespace std; 

/* Declare the function first */ 
void message();  

string s1 = "Hello"; 

int main() { 
     string s2 = "World"; 
     cout << s1 << " " << s2 << endl; 
     int s1 = 46; 
     cout << s1 << " " << s2 << endl; 
     cout << "hello" " " "mars" << endl; 
     message(); 
     return 0; 
} 

void message(void) { 
     cout << s1 << " World" << endl; 
} 

私はあなたが理解していると思います!

1

メッセージを使用している時点では、メッセージは宣言されていません。これを解決するにはmainより上にmessageを移動するか、前方宣言を使用します。

void message(void); 

int main() { 
    … 
関連する問題