2016-05-31 16 views
-3

いくつかの箇所にreturn 2があり、その意味を理解できないコードがあります。誰でも私がこのリターン2の意味を説明するのを助けることができます。前もって感謝します。 CではC++プログラミング言語のreturn 2文の意味

+4

私たちには表示されないコードをどのように理解できますか?ここからあなたのモニターを見ることはできません。 – NathanOliver

+1

[役立つなら...](http://stackoverflow.com/questions/204476/what-should-main-return-in-c-and-c) – chris

+1

答えはこのコードを含む関数そうするはずです。関数のドキュメントを読んでください。さまざまな戻り値の意味を説明しています。 –

答えて

0

が必要と戻り値を必要とする

void func(arg_type arg) 
{ 
    // some code 
    return; // can appear almost anywhere in the function body, including several times 
    // more code 
} 

関数のように

return_value_type func(arg_type arg) 
{ 
    // ... 
    return some_value_of_return_value_type; 
    // ... 
} 

のようにreturn文で与えられるような値を現在の関数からreturn声明戻っ++をお使いのその文は、int(またはintから変換可能な関連型)を返す関数の本体から取得されたようです。あなたが撮影した実行パスがmy_func()return 2声明の上に行ってきました場合にはヴァルに2を割り当てます

int my_func() 
{ 
    // ... 
    CATDocument* pDoc = NULL; 
    auto hr = CATDocumentServices::New("CATDrawing", pDoc); 
    if (FAILED(hr)) return 2; 
    // ... 
} 

int val = my_func(); 

を持っているのであれば、return 2は単純に、このように値2を返します。

+0

uこの関数がreturn文まで実行されると、値2が最後にvalに保存されます...あなたが言ったように私はこの権利を得ました –

+0

質問を編集してより明確にしました。 – Walter

2

声明

return 2; 

、それがされている関数を、意味値2を返します。

呼び出し元関数は、呼び出し元関数終了条件の表示としてその値を使用することがあります(抜粋では、「新しいCATDocumentServicesを作成できませんでした」または単に「何かが間違っていました」という隠れた意味を持つ特定の値です) ...)。

関連する問題