我有这些结构。
struct V
{
int data[2];
V(int a,int b)
{
data[0] = a;
data[1] = b;
}
}
typedef std::vector<int> X;
struct A
{
B<V> member1;
B<X> member2;
A(V member1_, X member2_) : member1(member1_),member2(member2_){}
}
template<typename T>
struct B
{
T data;
B(T data_){data = data_;}
}
如何创建结构 A 的对象?我希望像这样声明一个对象 A
A a;
然后稍后使用它将 member1 分配给它。这是因为直到程序运行的后期我才知道 B 的数据。但是编译器不会让我抱怨B中的默认构造函数,说我没有。当 B 是模板时,如何为 B 和 A 编写默认构造函数?有没有更好的方法来实现这一目标?
谢谢你的帮助。