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