我尝试将一些int值传递给另一个类中的类的构造函数。 例如:
States_Images::where('id_state', $id)->first();
有办法做到这一点吗?或者这在我的网站上是疯了吗?
答案 0 :(得分:2)
只能使用 brace-or-equal-initializer 在类中初始化成员。以下两种语法都是正确的:
A a{1};
A a = A(1);
事实上,如果A::A(int)
不明确,那么你也可以做到
A a = 1;
答案 1 :(得分:2)
有办法做到这一点吗?
当然,正确的方法是使用类B
中的成员初始化列表:
class B
{
public:
B() : a(1) {}
A a;
};
或者这是我网站的疯狂?
不,没什么疯狂的。直接使用正确的语法。
另一种方法可能是为类A
class A
{
public:
A() = default;
A( int k );
};
并在B
的构造函数体内进行初始化:
class B
{
public:
B() {
a = A(1);
}
};