创建一个向量作为函数调用参数
Create a vector as a function call parameter
我不知道在这种情况下我必须做什么..
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;
}
正如我所说,这不是一个问题。
概率就在那里,在"main"。
在我的情况下不是 "main" 是另一个 class...但我认为是相同的...
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;
}
谢谢
您可以使用 list initilization。 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;
}
至
Build_Using_Vector::Build_Using_Vector(int TThing, vector<int> LList_Elem) : Another() , Thing(TThing), List_Elem(LList_Elem) {}
如果您没有符合 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 ;
}
我不知道在这种情况下我必须做什么..
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;
}
正如我所说,这不是一个问题。
概率就在那里,在"main"。 在我的情况下不是 "main" 是另一个 class...但我认为是相同的...
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;
}
谢谢
您可以使用 list initilization。 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;
}
至
Build_Using_Vector::Build_Using_Vector(int TThing, vector<int> LList_Elem) : Another() , Thing(TThing), List_Elem(LList_Elem) {}
如果您没有符合 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 ;
}