按引用返回向量<string>

2024-10-01 15:36:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个SWIG类,它接收一个字符串向量-vector<string>(CSCHSwig),这个类使用a.LIB另一个通过引用返回另一个字符串向量的项目。在

在中信建投国际.cpp在

#include CSCHSwig.h
vector < string> CSCHSwig::CSwig(vector < string> a_InputArgs){

    vector < string> a_OutputArgs;
    int resposta = ClassLib->SendRequest(a_InputArgs, a_OutputArgs);

    return a_OutputArgs
}

中信建投国际

^{pr2}$

中信建投国际

/* File : CSCHSwig.i */

%module CSCHSwig

%{
#include "..\..\..\Incl\CSCHSwig.h"
%}

%include <std_string.i>
%include <std_vector.i>
%include "typemaps.i"


namespace std {
    %template(a_OutpuArgs) vector < string>; 
}


%include "..\..\..\Incl\CSCHSwig.h"

ClassLib示例: 类库.cpp在

int ClassLib::SendRequest(const vector < string>& a_InputArgs, vector < string>& a_OutputArgs, {
    vector < string> Vector;

    Vector.push_back("pReturnStatus");
    Vector.push_back("1");

    a_OutputArgs = Vector;

    return 1;
}

类库.h

class ClassLib
{
public:
    int SendRequest(const vector < string>&  a_InputArgs, vector < string>& a_OutputArgs);
}

我已经测试了SWIG类,它工作得很好,我从python调用CSwig方法,传递一个字符串列表。问题在于CSwig方法调用SendRequest类库方法时。 int resposta = ClassLib->SendRequest(a_InputArgs, a_OutputArgs);

执行终止,不返回错误。我犯下的“错误”测试是在方法中处理a_OutputArgs参数并返回一个字符串数组时发生的。也许我需要在我的档案里放点东西让它生效。在


Tags: 方法字符串stringincludeintstd国际vector

热门问题