2017-04-10 87 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