2017-04-10 68 views
-4

我寫一些C這裏++代碼的函數返回一個值C++編程返回值處理

int funcReturn() 
{ 
return A->testvalue(); //for this de referencing i was getting error; 
         //so i implemeted it this way 
} 
int funcReturn() 
{ 

if (A!=NULL) 
{ 
return A->testvalue(); //for this de referencing i was getting error; 
}      //so i implemeted it this way 
} 

現在的問題是,我需要有其他的計數器部分,還必須處理其他部分所有的參考文獻..

所以,你可以請建議做什麼?

+0

這只是返回..我想念它鍵入它。錯誤是我需要有其他部分。如果我保留其他部分。我需要在所有參考參數中處理 – Mukesh

+0

如果您不想在所有引用中處理該問題,那麼您可以在funcReturn()中的'else'部分調用'exit()',並帶有適當的錯誤消息之前調用'exit()' – Gaurav

+0

你需要重新修改你的問題。因爲它站在這裏,所以很難理解你想要什麼。 –

回答

2

在第一種情況下,行爲是undefined如果Anullptr(或C中的NULL)。

在第二種情況下,您正在防範這種情況,但您的有用編譯器會警告您,在所有程序控制路徑上都沒有明確的return值。

如果Anullptr,則需要決定int應該返回的值,並明確返回該值。

+0

好的我返回一個int值。但我必須處理所有其他引用api的值 – Mukesh

+0

,我不想這樣做 – Mukesh

+1

那麼如果你的*某些*'A'永遠不是'nullptr'那麼你可以使用運行時'assert'來那效果然後用'return A-> testvalue();'。否則你運氣不好。 – Bathsheba