2016-05-31 98 views
-3

我有一個代碼,在某些地方有返回2,我無法理解它的含義。任何人都可以幫助我解釋這個返回2的含義。提前致謝。在C++編程語言中返回2語句的含義

+4

我們如何理解你沒有向我們展示的代碼?我們無法從這裏看到您的顯示器。 – NathanOliver

+1

[如果有幫助...](http://stackoverflow.com/questions/204476/what-should-main-return-in-c-and-c) – chris

+1

答案取決於包含此代碼的函數應該這樣做。閱讀函數的文檔 - 應該解釋各種返回值的含義。 –

回答

0

在C++中,從當前函數中的return語句返回在

需要一個返回值
void func(arg_type arg) 
{ 
    // some code 
    return; // can appear almost anywhere in the function body, including several times 
    // more code 
} 

功能需要在return聲明給予在

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

在這樣的價值你情況下,看起來這些陳述取自返回int(或可從int轉換的相關類型)的函數的主體。所以,簡單地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聲明my_func()指派2至VAL。

+0

你的意思是如果這個函數執行到return語句,那麼值2將最終保存在val中嗎?我是否正確地按照你所說的那樣得到了這個結果 –

+0

我編輯了這些問題以使其更清晰。 – Walter

2

聲明

return 2; 

裝置的功能,其中它是,則返回值2

調用者函數可能會使用該值作爲被調用函數終止條件的指示(在摘錄中給出它可能是一個具有隱含含義的特定值,「無法創建新的CATDocumentServices」或者只是「出錯了」 ...)。