我有一个功能f(unsigned char ** data);
.另外,我有一个指向pObj
带有unsigned char* pbCert
成员的对象的指针.因此,我想执行如下操作:
f(pObj->&pbCert);
不幸的是,我收到了member identifier expected
错误.
我设法使用这种方法解决问题:
unsigned char* temp = pObj->pbCert; f(&temp);
但是我很好奇,是否有一些聪明的记法技巧只在一行中做到这一点?
的&
整个成员访问表达式之前云:f(&pObj->pbCert)
.
(事实上,你自己的解决方案unsigned char* temp
是不完整的!调用f(&temp)
会修改temp
,但不会修改pObj->pbCert
,除非你pObj->pbCert = temp;
在调用后手动重新分配它f
.)