【发布时间】:2020-11-26 02:51:41
【问题描述】:
我几年前编程,我在主函数中编写了所有内容,而不是使用类和其他函数,所以我很困惑。我有一个具有指定格式的项目,定义数组的方式让我感到困惑。我最初认为 xArray 是一个动态数组,但是当我尝试为其分配大小时,它会给出错误 E0513“类型为“int *”的值不能分配给类型为 Group1 的实体
Group1{
int x,y;
}
Group2{
int a,b;
Group1* xArray;
}
void main{
Group1 g1;
int length;
cout <<"enter the length"<< endl;
cin >> length;
g1.xArray = new int[length];
}
所以基本上,我有几个问题,1. xArray(pointer?array?) 到底是什么 2. 如果它是一个动态数组,我可以在类在哪里定义?
【问题讨论】:
-
错误是正确的。
group1* xArray;xArray 需要指向 group1 对象而不是 int(s)。g1.xArray = new int[length];应该是g1.xArray = new Group1[length];大小写也很重要。group1与Group1不同,我认为这是一个错字。 -
*在此上下文中指定 C++ 中的指针。有关更多信息,请参阅您的 C++ 教科书。 -
你用哪本书来学习C++?你的代码中有许多基本的语法错误,应该在你的书中解释。
-
我要说多少遍? “你不能通过反复试验来学习 C++!”
-
这不是为了上课,而是为了工作。他给了我一个我在 python 中完成的任务。他说他想用 C 家族语言编写它,所以我使用了 c++ 向量。然后他给了我这个模板,让我在他定义类的地方使用,并说要使用动态数组。在我提供的示例中,我对代码的唯一贡献是 main 函数。
标签: c++ arrays visual-c++ dynamic-arrays