0

在下面的示例代码中,我需要将结构向量传递给函数。

class A {
public:
    struct mystruct {   
        mystruct (int _label, double _dist) : label(_label), dist(_dist) {}   
        int label;
        double dist;
    };
}

我将向量声明如下:

 vector<A:: mystruct > mystry;

现在在这个类“A”中有一个如下的函数。

  myfunc ( vector<mystruct> &mystry );

如何将结构向量传递给我的“myfunc”?

4

2 回答 2

4

试试这个

#include <iostream>
#include <vector>

using namespace std;

class A {
public:
    struct mystruct {   
        mystruct (int _label, double _dist) : label(_label), dist(_dist) {}   
        int label;
        double dist;
    };

    void myfunc ( vector<mystruct> &mystry ){
        cout << mystry[0].label <<endl;
        cout << mystry[0].dist <<endl;
    }
};

int main(){
    A::mystruct temp_mystruct(5,2.5); \\create instance of struct.

    vector<A:: mystruct > mystry; \\ create vector of struct 
    mystry.push_back(temp_mystruct); \\ add struct instance to vector

    A a; \\ create instance of the class
    a.myfunc(mystry); \\call function
    system("pause");
    return 0;
}
于 2013-04-08T04:49:00.093 回答
0

好吧,首先您需要创建一个 的实例A,如下所示:

A a;

然后,您需要调用myfuncon a,并将 value 传递给它mystry

a.myfunc(mystry);
于 2013-04-08T04:46:41.967 回答