【发布时间】:2011-01-13 04:58:31
【问题描述】:
我有一个结构,比如 SubscriptionData。该类型的两个变量在函数 1 中声明。
SubscriptionData aSubscriptionData;
SubscriptionData aResultSubscriptionData;
结构本身具有另一个结构,而该结构又具有另一个结构的向量。向量在下面给出
aSubscriptionData.apn_config_file.apn_config
我已正确初始化结构。现在,我调用一个函数来填充 aSubscriptionData。然后我调用另一个函数,其原型如下所示。
void breakSubDataLen(ImsMsg::SubscriptionData& aSubscriptionData, ImsMsg::SubscriptionData& aResultSubscriptionData);
在函数breakSubDataLen()中,我应该将aSubscriptionData.begin()+3到aSubscriptionData.end()的元素复制到aResultSubscriptionData结构中。
我正在为此做以下操作。
std::copy(aSubscriptionData.apn_config_file.apn_config.begin() + 3,
aSubscriptionData.apn_config_file.apn_config.end(),
aResultSubscriptionData.apn_config_file.apn_config.begin());
它似乎不起作用。谁能帮帮我?
【问题讨论】:
-
我很抱歉这里有错误的代码 sn-p。实际的行是 std::copy(aSubscriptionData.apn_config_file.apn_config.begin()+3, aSubscriptionData.apn_config_file.apn_config.end(), aResultSubscriptionData.apn_config_file.apn_config.begin());
-
已为您修复。顺便说一句,
apn_config是std::vector,对吧? -
“它似乎不起作用”是一个模糊的问题描述。
-
是的.. apn_config 是一个 std::vector。我正在尝试您的解决方案。
-
成功!! @James:非常感谢伙计!
标签: c++ vector reference copy structure