0

我有一个结构,并且希望在 SendMessage 函数调用时增加数组大小

struct MQStruct {
    wchar_t *serviceName; 
    int durability; 
    int msgType; 
    int msgHeader; 
    wchar_t *msgId; 
    wchar_t *payload; 
    int payloadSize; 
    int ttl; 
    int priority;
}MQStructObj[1];


int SendMessage(wchar_t *serviceName, int durability, int msgType, int msgHeader, wchar_t *msgId, wchar_t *payload, int payloadSize, int ttl, int priority) {

//Want to add one more array object and also preserve data of previous
MQStructObj[MAX+1]

return 0;
}
4

1 回答 1

2

在 C 语言中,您必须自己处理动态内存(即使用 分配数组,然后在停止使用时malloc()小心调用等),并可能用于增加分配。free()realloc()

在 C++ 中,问题已经为您解决了,并且您拥有std::vector. 您可以调用push_back动态添加元素。

于 2013-01-15T10:00:25.227 回答