gpt4 book ai didi

c++ - 使用类对象时出错?

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

我刚刚创建了一个 person 类并定义了 2 个重载的构造函数,如您所见然后制作了一个包含 2 个对象的数组,但弹出了一些错误!

请问为什么我会收到这 2 个错误??[-fpermissive] 错误是什么??

#include <iostream>
using namespace std;
class person
{
int x;

public:
person() {
x=0;
}
person(int y){ //error
x=y;
}
};


int main()
{
int n;

cin>>n;

person* Arr= new person[2];

Arr[0]=new person(n); //error
return 0;
}

最佳答案

你没有发布错误,但我认为它们是,

: In function ‘int main()’:
:25:24: error: invalid conversion from ‘person*’ to ‘int’ [-fpermissive]
:11:5: error: initializing argument 1 of ‘person::person(int)’ [-fpermissive]

您有两个选择。第一,创建一个 person 指针数组,这些指针指向您使用“new”关键字创建并驻留在堆上的 person 对象。

person* Arr[2];
Arr[0]=new person(n);

您还可以制作一组人,然后将他们设置为等于另一个人,这不需要 new 关键字。这些将驻留在堆栈中。

person Arr[2];
Arr[0]= person(n);

关于c++ - 使用类对象时出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12774109/

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