我有以下结构:
typedef struct TTCAPMessage {
uint8_t packagetype; //{should be Query /w Permission or Response}
uint32_t transid; //{transaction ID number}
std::vector<TTCAPComponent_t> components; //{a string of component Information elements}
bool parseok; //{false if error occured}
} TTCAPMessage_t;
typedef struct TTCAPComponent {
uint8_t componenttype; //{should be Invoke, Return Result, Reject, etc.}
uint8_t componentid; //{component ID code}
uint8_t operationcode; //Query operation code, "Private TCAP"
void* pParameterSet;
} TTCAPComponent_t;
typedef struct myStruct {
.....
} mySruct_t;
Run Code Online (Sandbox Code Playgroud)
在TTCAPComponent_t中,有一个void*应该指向两种不同类型的结构.在这种情况下,它将指向myStruct_t.我想检索其中的数据.
因此,为了取消引用,我尝试了以下的许多变体而没有运气:
tcapMessage->components[0]->(myStruct_t*)pParameterSet->(Accessing Structure data) ....
Run Code Online (Sandbox Code Playgroud)
我曾尝试在线查找资源,但出于某种原因,我无法让它发挥作用.在此先感谢您的帮助!
箭头->操作符仅接受成员名称作为其右侧,因此您无法在其中放置强制转换.您正在寻找以下语法:
((struct myStruct_t*)tcapMessage->components[0]->pParameterSet)->...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |