【发布时间】:2018-11-25 00:23:24
【问题描述】:
让类作为另一个类构造函数的参数传递时,我遇到了这个问题。基本上代码是这样的:
class A
{
public:
int ID;
A(int getID)
{
ID = getID;
}
}
我想像这样使用 A 类作为 B 类的成员:
class B
{
public:
A someA;
A someB;
int number;
B(A ObjectA, A ObjectB, int getNumber)
{
someA = ObjectA;
someB = ObjectB;
number = getNumber;
}
};
错误基本上是说没有匹配的函数可以调用B::B()。我不知道它有什么问题。我用对象的向量做了类似的事情,所以我想为什么这个东西不能工作。感谢您的任何输入/更正,谢谢!
旁注:我已尝试按照另一个线程中的建议为B 添加默认构造函数,但它最终显示B::B 的使用无效。
【问题讨论】:
-
欢迎来到 Stack Overflow。请花点时间浏览The Tour,并参考Help Center 的材料,了解您可以在这里询问什么以及如何询问。特别重要的是发一个minimal reproducible example。
-
请说明您如何实例化
B类型的对象。 -
对你的问题有太多可能的解释,而你没有提供足够的信息。提供minimal reproducible example 将帮助人们帮助您。如果编译器在编译类
B时没有类A的可见性——这将是一种解释。在发出您描述的错误消息之前,编译器会针对这种情况发出大量错误消息。 -
啊,麻烦您了。我将完全相同的代码复制粘贴到我的 linux 机器上(使用的是 windows),不知何故它工作得很好。没有任何错误。
标签: c++ class object constructor