#include<vector>
class Dp
{
private:
const static int N_ROW_MAX=1000;
public:
static std::vector<int> weight[N_ROW_MAX+1];
private:
static void Set(); //初始化静态成员数据
};
int main()
{
return 0;
}
void Dp::Set()
{
weight[1].resize(1);
}
最后一行,会出现未定义的报错,如图:
但如果不加resize,即:
#include<vector>
class Dp
{
private:
const static int N_ROW_MAX=1000;
public:
static std::vector<int> weight[N_ROW_MAX+1];
private:
static void Set(); //初始化静态成员数据
};
int main()
{
return 0;
}
void Dp::Set()
{
weight[1];
}
则不会报错。
这是为什么呢?