创建一个向量作为函数调用参数

时间:2015-08-19 15:51:40

标签: c++ vector constructor main

我不知道在这种情况下我该怎么做..

Class Build_Using_Vector : public Another
{
 private:
         int Thing;
         vector<int> List_Elem;
 public:
         Build_Using_Vector(int TThing, vector<int> LList_Elem);
};

好的,这不是一个问题......第二部分仍然不是一个问题:

Build_Using_Vector::Build_Using_Vector(int TThing, vector<int> LList_Elem) : Another() 
 {
    Thing = TThing;
    List_Elem = LList_Elem;
 }

正如我所说,这不是一个问题。

概率就在那里,在“主要”中。 在我的情况下,不是“主要”是另一个类...但我认为是相同的......

int main()
 {
   Build_Using_Vector Foo(5, ???) // i don't know how to build with a multiple of element for example 5,6,7)
   return 0;
 }

谢谢

2 个答案:

答案 0 :(得分:6)

您可以使用list initilizationproperty: { get: function(id, callback) { mysql.DatabasePool(function() { this.query('SELECT date(birthdate) FROM ICM_Contact WHERE ICM_contact_id = ? LIMIT 1', [id], function(err, rows, fields) { console.log(rows[0]); callback(null, ICM.contact.revive(rows[0])); }) }); } } 将是

Build_Using_Vector Foo(5, ???)

我还建议您使用构造函数的所有成员初始化并更改

Build_Using_Vector Foo(5, {5,6,7})

Build_Using_Vector::Build_Using_Vector(int TThing, vector<int> LList_Elem) : Another() 
{
    Thing = TThing;
    List_Elem = LList_Elem;
}

答案 1 :(得分:1)

如果您没有符合C ++ 11的编译器,则必须手动构建std::vector

int main ()
{
    const int arr [] = {5, 6, 7} ;
    const unsigned arrSize = sizeof (arr) / sizeof (arr [0]) ;

    std::vector <int> v1 (arr, arr + arrSize) ;
    Build_Using_Vector Foo(5, v1) ;

    return 0 ;
}

或者

int main ()
{    
    std::vector <int> v1 ;
    v1.push_back (5) ;
    v1.push_back (6) ;
    v1.push_back (7) ;        

    Build_Using_Vector Foo(5, v1) ;

    return 0 ;
}

或者

int main ()
{    
    Build_Using_Vector Foo(5, CallSomeFunctionThatReturnsAnStdVector()) ;

    return 0 ;
}