gpt4 book ai didi

c++ - 如何在C++中将类的构造函数参数传递给不同的类main

转载 作者:行者123 更新时间:2023-11-30 02:05:45 25 4
gpt4 key购买 nike

//Class1主要

int main()
{
...

Class1 obj1(parameters);
Class1 obj2(parameters);
Class1 *Array[2];
Array[0] = obj1;
Array[1] = obj2;

Class1 *Pointer = Array;

Class2 repository(Pointer); //where the error occurs.
}

obj1 和 obj2 是之前创建的,是 class1 对象。 class2 是一个数据存储库类 (Class2) 我正在尝试将数组传递给它以从 Class2 指向它。

#include "Class2.h"
//what Class2 constructor looks like.

Class2::Class2(Class1* Pointer)
{
tPointer = Pointer;
}

问题是我收到一条错误消息 undefined symbol :
“Class2::Class2(Class1*)”,引用自:
_main 在 Class1
ld: 找不到符号

非常感谢任何帮助。

最佳答案

您有很多错误,我会尝试向您展示如何修复它们。

int main()
{
...

Class1 obj1(parameters);
Class1 obj2(parameters);
Class1 *Array[2];
Array[0] = &obj1; // Array holds pointers to Class1, so you need to use &
Array[1] = &obj2; // Here too.

Class1 *Pointer = Array[0]; // Use Array[0] or Array[1] here

Class2 repository(Pointer); //Should be okay now
}

总结:

Array[0] = obj1; 行中,您忘记了地址运算符(下一行相同)。

Class1 *Pointer = Array; 没有意义,因为 Array 本身是一个指向指针的指针,您想要 Array[0 ]Array[1] 使指针指向 obj1 或 obj2。

关于c++ - 如何在C++中将类的构造函数参数传递给不同的类main,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9406762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com