[問題] 有關函式回傳值的問題
#define RNOK( exp ) \
{ \
const ERR_VAL nMSysRetVal = ( exp ); \
if( ERR_CLASS::m_nOK != nMSysRetVal ) \
{ \
ASSERT( 0 ); \
return nMSysRetVal; \
} \
}
這是JMVC(multiview video coding)的一個常見的函式RNOK
不知道有沒有相同的戰友
主要問題是RNOK()使用上並沒有變數去承接他的回傳值nMSysRetVal
如H264AVCEncoderTest* pcH264AVCEncoderTest = NULL;
RNOK( H264AVCEncoderTest::create( pcH264AVCEncoderTest ) );
那為什麼要回傳nMSysRetVal?
我對C沒有很熟 如果是很基本的問題別見笑
PS:如果有戰友 想請問一下ASSERT( 0 );是做什麼事情
我只找到#define ASSERT assert
但assert就沒有其他定義了
--
http://www.wretch.cc/album/evilkiss
有空來逛逛阿 交個朋友
一起打網球吧
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.124.43.177
→
08/02 20:11, , 1F
08/02 20:11, 1F
#define RNOK( exp ) {
const ERR_VAL nMSysRetVal = ( exp );
if( ERR_CLASS::m_nOK != nMSysRetVal )
ASSERT( 0 );
(ERR_CLASS::m_nOK!=nMSysRetVal?nMSysRetVal:NULL) }
danny8376:應該就可以得到回傳值了
我想問的是RNOK(data)有一個return value
但使用上不是 A=RNOK(data) 用A去接回傳的value
那程式回傳的value是由哪個變數去接收?
而不是想去得到回傳值
→
08/02 20:22, , 2F
08/02 20:22, 2F
→
08/02 20:23, , 3F
08/02 20:23, 3F
→
08/02 20:24, , 4F
08/02 20:24, 4F
→
08/02 20:25, , 5F
08/02 20:25, 5F
→
08/02 20:26, , 6F
08/02 20:26, 6F
→
08/02 20:27, , 7F
08/02 20:27, 7F
這邊你的意思是我在main裡用RNOK他的return value是對映main
假設我在test()裡面用RNOK他的return value是對映test
EX:
#define RNOK(){return 3;}
int test()
{
RNOK();
}
main()
{
a=test(); 這時候a會等於3
}
是這樣嗎?
※ 編輯: evilkiss 來自: 140.124.43.172 (08/02 21:53)
※ 編輯: evilkiss 來自: 140.124.43.172 (08/02 21:55)
→
08/02 22:34, , 8F
08/02 22:34, 8F
→
08/03 13:27, , 9F
08/03 13:27, 9F