C++ 如何合并从函数返回的向量?

C++ 如何合并从函数返回的向量?,c++,c++11,C++,C++11,我有一个返回字符串向量的函数,在我的主函数中,我想组合从函数返回的所有向量。但是,我一直遇到一个错误向量迭代器不兼容,但我确保从函数返回一个ptr,以便在函数结束时不会删除该向量 const unique_ptr<vector<string>> loadTransactions(string filename){ unique_ptr<vector<string>> transactions = make_unique<vector&

我有一个返回字符串向量的函数,在我的主函数中,我想组合从函数返回的所有向量。但是,我一直遇到一个错误向量迭代器不兼容,但我确保从函数返回一个ptr,以便在函数结束时不会删除该向量

const unique_ptr<vector<string>> loadTransactions(string filename){
    unique_ptr<vector<string>> transactions = make_unique<vector<T>>();
    //some processing
    return transactions;
}
int main(){
    vector<string> allTransactions;
    for(int i =0; i< 10; ++i){
        unique_ptr<vector<string>> transactions = loadTransactions("filename");
        allTransactions.insert(allTransactions.end(), transactions->begin(), transactions->end());
}

您的函数可以返回std::vector而不使用指针

包括 包括 包括 使用名称空间std; 矢量加载TransactionString文件名{ 向量事务{}; //一些加工 退货交易; } int main{ 矢量所有事务; 福林i=0;i<10;++i{ 向量事务=LoadTransactionFileName; allTransactions.insertallTransactions.end、transactions.begin、transactions.end; } }
您的函数可以返回std::vector而不使用指针

包括 包括 包括 使用名称空间std; 矢量加载TransactionString文件名{ 向量事务{}; //一些加工 退货交易; } int main{ 矢量所有事务; 福林i=0;i<10;++i{ 向量事务=LoadTransactionFileName; allTransactions.insertallTransactions.end、transactions.begin、transactions.end; } }
请提供一个“allTransactions”的类型是vector,而“transactions”的类型是vector allTransactions,因此您可能会遇到这个问题。什么是T,什么是Transaction?您不需要指向vector的指针,您可以安全有效地传递它们。请提供一个“allTransactions”的类型是vector,而“transactions”的类型是vector allTransactions,因此您可能会面临这个问题。什么是T,什么是Transaction?您不需要指向向量的指针,您可以安全有效地传递它们