简单的问题,用类创建一个对象error C2380: type(s) preceding 'Complex' (constructor with return type, or illegal redefinition of current class-n

本文详细介绍了C++中构造函数的正确使用方法及注意事项,包括构造函数的定义、对象创建过程中的常见错误及其解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先定义一个类:

class Complex
{
 double real;
 double virt;
 
public:
 Complex(double r, double v)
 {
  real = r;
  virt = v;
 }
};

首先:

构造函数没有返回类型,连void也不许有!!!

如果不幸,在构造函数钱加了void,将出现错误:

  error C2380: type(s) preceding 'Complex' (constructor with return type, or illegal redefinition of current class-name?)

然后定义对象,如下定义,

Complex num1 = new Complex(1.0,3.0);

将会出现错误:

error C2440: 'initializing' : cannot convert from 'class Complex *' to 'class Complex'

修改方法:

1)定义指针:Complex *num1 = new Complex(1.0,3.0);

2)不用new,直接构建 Complex num1(1.0,3.0);

 

好久不写C++代码,


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值