C++在一个类里调用另一个类的构造函数出错
structx{x()=default;x(inta,intb):c(a),d(b){}intc=0;intd=0;};structy{std::vector<struc...
struct x{
x() = default;
x(int a, int b) :c(a), d(b) { }
int c = 0;
int d = 0;
};
struct y{
std::vector<struct x> xs{ x(3, 3) };//提示这里出错
};
错误 1 error C2664: “std::vector<x,std::allocator<_Ty>>::vector(std::initializer_list<x>,const std::allocator<_Ty> &)”: 无法将参数 1 从“x”转换为“const std::allocator<_Ty> &”
1> with
1> [
1> _Ty=x
1> ]
1> 原因如下: 无法从“x”转换为“const std::allocator<_Ty>”
1> with
1> [
1> _Ty=x
1> ]
1> 没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符
为VS2013 C++Primer 第5版 251页上 Windows_mgr类定义时
vector<class screen>screens{ screen(24, 80, " ") };
不知道是否可以这样用 为什么会出错 展开
x() = default;
x(int a, int b) :c(a), d(b) { }
int c = 0;
int d = 0;
};
struct y{
std::vector<struct x> xs{ x(3, 3) };//提示这里出错
};
错误 1 error C2664: “std::vector<x,std::allocator<_Ty>>::vector(std::initializer_list<x>,const std::allocator<_Ty> &)”: 无法将参数 1 从“x”转换为“const std::allocator<_Ty> &”
1> with
1> [
1> _Ty=x
1> ]
1> 原因如下: 无法从“x”转换为“const std::allocator<_Ty>”
1> with
1> [
1> _Ty=x
1> ]
1> 没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符
为VS2013 C++Primer 第5版 251页上 Windows_mgr类定义时
vector<class screen>screens{ screen(24, 80, " ") };
不知道是否可以这样用 为什么会出错 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询