我想定义一个结构如下:
struct myStruct {
std::vector<double> myVector(vector_size, init_value);
...
}
Run Code Online (Sandbox Code Playgroud)
是否可以将参数vector_size(int)和init_value(double)传递给结构体?
定义一个两个参数构造函数并使用构造函数初始化列表:
struct myStruct{
myStruct(size_t a_size, double a_value): myVector(a_size, a_value) {}
std::vector<double> myVector;
};
Run Code Online (Sandbox Code Playgroud)
或者,使用聚合初始化(请参阅http://ideone.com/Ky50Ex):
struct myStruct
{
std::vector<double> myVector;
};
myStruct m = { std::vector<double>(14, 0.5) };
Run Code Online (Sandbox Code Playgroud)