C++(tuxedo)的一个简单问题
原形:
#if !defined(AFX_TUXCALL_H__AD90BFE5_CB39_40AE_8A8E_D6E6B9419B80__INCLUDED_)
#define AFX_TUXCALL_H__AD90BFE5_CB39_40AE_8A8E_D6E6B9419B80__INCLUDED_
#if _MSC_VER > 1000
class CTuxCall
{
public:
int tpcall();
int tpcall(long lineno);
.......
int Fchg32(long lineno, FLDID32 fieldid, FLDOCC32 oc, char *value, FLDLEN32 len);
int Fget32(long lineno, FLDID32 fieldid, FLDOCC32 oc, char *loc, FLDLEN32 *maxlen);
........
virtual ~CTuxCall();
};
#endif // !defined(AFX_TUXCALL_H__AD90BFE5_CB39_40AE_8A8E_D6E6B9419B80__INCLUDED_)
这是一个函数:
int CTuxCall::Fget32(long lineno, FLDID32 fieldid, FLDOCC32 oc, char *loc, FLDLEN32 *maxlen)
{
int i=-1;
//memset(loc, '\0 ', sizeof(loc));
if ((i = ::Fget32(m_pRecvBuf, fieldid, oc, loc, maxlen)) < 0)
{
m_Exception.m_errorno = __LINE__;
m_Exception.m_superline = lineno;
sprintf(m_Exception.m_errstr, "SRVCNM %s :Fget32 %d Errno: %d Msg: %s ",m_ServerName,fieldid,Ferror32,Fstrerror32(Ferror32));
throw m_Exception;
}
return i;
}
这是调用:
putxclient -> Fget32(__LINE__,OPTRTYPE,0,inQryTpye,(FLDLFN32 *)0);
ptuxclient -> Fget32(__LINE__,BILLINGCYCLID,0,inBillingcyclID,(FLDLEN32 *)0);
我是一新人,到公司要求我读这些代码....我的问题是:
int CTuxCall::Fget32 里面m_pRecvBuf, fieldid, oc, loc, maxlen这些都是外部的变量,对不对?
在调用中的__LINE__是不是一个宏?我在网上找过资料,都讲得有些粗...
有没有写过boss,通信的高手..请带我入门........
[解决办法]
猪头献身
[解决办法]
__LINE__ 就是行号,是宏
你写一个
#include <stdio.h>
void main()
{
printf( "%d--%s ",__LINE__,__FILE__);
return;
}
就明白了
[解决办法]
::Fget32(m_pRecvBuf, fieldid, oc, loc, maxlen))
另外一个函数
::(作用域解析符号) 你到全局namespace下去查找这个函数原型吧;